EMR Studio 是一个集成开发环境 (IDE),使数据科学家和数据工程师能够轻松地开发、可视化和调试用 R、Python、Scala 和 PySpark 编写的数据工程和数据科学应用程序。
EMR Studio 提供完全托管式 Jupyter 笔记本,以及诸如 Spark UI 和 YARN Timeline Service 等工具,可简化调试。数据科学家和分析人员可以安装自定义内核和库,使用代码库(例如 GitHub 和 BitBucket)与同事协作,或者使用 Apache Airflow 或 Amazon Managed Workflows for Apache Airflow 等编排服务,将参数化笔记本作为计划工作流的一部分运行。
EMR Studio 内核和应用程序在 EMR 集群上运行,因此您可以利用性能优化的适用于 Apache Spark 的 Amazon EMR 运行时,获得分布式数据处理带来的优势。管理员可以设置 EMR Studio,以便分析师可以在现有 EMR 集群上运行其应用程序,或使用 EMR 的预定义 AWS CloudFormation 模板创建新集群。
特色和优势
简单易用
EMR Studio 简化了 EMR 集群上的应用程序交互。可以使用 AWS IAM 身份验证从 AWS 管理控制台访问 EMR Studio,也可以通过 AWS IAM Identity Center(AWS SSO 的后继者)从身份提供者(IdP)启用联合访问,而无需登录 AWS 控制台。可以使用笔记本以交互方式探索、处理和可视化数据,构建和计划管道以及调试应用程序,而无需登录 EMR 集群。
完全托管的 Jupyter 笔记本
借助 EMR Studio,您可以在几秒钟内启动笔记本,使用示例笔记本上手并执行数据探索。可以通过内置的实时协作与同行合作,以及通过 Git 存储库跨笔记本版本跟踪更改。还可以通过从笔记本加载自定义内核和 Python 库来自定义环境。
轻松构建应用程序
EMR Studio 可让您轻松地从原型设计转向投入生产。可以从代码存储库触发管道,只需使用 Apache Airflow 或 Amazon Managed Workflows for Apache Airflow 等编排工具将笔记本作为管道运行,或者只需单击一下即可将笔记本连接至更大规模的集群。
简化调试
借助 EMR Studio,您无需登录到集群,即可调试活动和已终止集群的作业与访问日志。可以从 EMR Studio 直接使用原生应用程序接口,例如 Spark UI 和 YARN Timeline Service。EMR Studio 还可让您使用集群状态、创建时间和集群 ID 等筛选条件快速定位要调试的集群或作业。
实时协作笔记本
借助 EMR Studio,数据科学家、工程师和分析师可以跨团队实时协作。可以邀请同事查看和编辑笔记本。此功能支持 Jupyter 笔记本的实时共同创作、代码调试和代码审核。
SQL Explorer
EMR Studio 随附 SQL Explorer,这是 Workspace 中的一项功能,可让您直接从 EMR Studio 浏览数据目录并在 EMR 集群上运行 SQL 查询。在 SQL explorer 中,您可以连接到带有 Presto 的 EC2 集群上的 Amazon EMR,以查看和浏览数据目录。SQL Explorer 还为您提供了一个编辑器,用于运行 SQL 查询、在表中查看查询结果以及以 csv 格式下载查询结果。
多语言笔记本
EMR Studio 可让您在单个 Jupyter 笔记本中使用多种语言。您可以于同一个 Jupyter 笔记本中在 Python、Scala、SparkSQL 和 R 之间进行切换,并通过临时表在单元格之间共享数据。借助此功能,您可以使用最适合工作流程不同组件的语言编写代码。
使用案例
构建数据科学和工程应用程序
借助 EMR Studio,您可以在几秒钟内启动笔记本,使用示例笔记本上手并执行数据探索。可以通过内置的实时协作与同行合作,以及通过 Git 存储库跨笔记本版本跟踪更改。还可以通过从笔记本加载自定义内核和 Python 库来自定义环境。
部署生产管道
在 EMR Studio 中,可以使用代码存储库触发管道。还可以参数化和链接笔记本以构建管道。可以使用 Apache Airflow 或 Amazon Managed Workflows for Apache Airflow 等工作流程编排服务,将笔记本集成到计划的工作流程中。EMR Studio 还允许您将笔记本重新连接至更大规模的集群以运行作业。
简化应用程序调试
在 EMR Studio 中,可以通过笔记本 UI 调试笔记本应用程序。还可以首先使用集群状态等筛选条件缩小集群范围来调试管道,然后通过尽可能少的单击开启打开 Spark UI、Tez UI 和 Yarn Timeline Service 等原生调试 UI,从中诊断活动和已终止集群上的作业。