AWS Glue 与 EMR 无服务器

ale*_*oid 16 amazon-web-services amazon-emr aws-glue emr-serverless

最近,AWS 发布了 Amazon EMR Serverless(预览版)https://aws.amazon.com/blogs/big-data/announcing-amazon-emr-serverless-preview-run-big-data-applications-without-managing-servers/ - 非常有前途的新服务。

根据我的理解 - AWS Glue 是 Apache Spark 之上的托管服务(用于转换层)。AWS EMR 也主要用于 Apache Spark。因此,EMR Serverless(适用于 Apache Spark)看起来与 AWS Glue 非常相似。

现在我脑子里有一个问题 - 与 AWS Glue 的核心区别是什么以及何时选择 EMR Serverless 而不是 Glue?

潜在的 EMR Serverless,甚至可能成为 AWS Glue 转换层生态系统的一部分?也许 AWS 将用 EMR Serverless 取代 AWS Glue 中的转换层,这样就有意义了。AWS Glue 将扮演 ETL Overlay、Metastore 的角色,并以 EMR Serverless 作为处理层。

lum*_*men 7

我会给你两分钱,因为我一直在想同样的事情。

胶水

根据AWS 文档,AWS Glue 是“简单、可扩展且无服务器的数据集成”。Glue 可用于多种用途:作为元数据存储库、自动模式发现、代码生成以及运行 ETL 管道来准备数据。Glue 负责提供和管理运行数据管道所需的计算资源。Glue 是一种无服务器服务,因此您无需创建和管理基础设施,因为 Glue 会为您完成这些工作。

如果我们只关注处理功能并放弃 Glue 特定的功能(架构发现、代码生成等),那么 EMR Serverless 和 Glue 服务看起来几乎相同。这两种服务的主要优势之一是能够运行 Spark 或 Hive 无服务器应用程序。

与 Glue Spark 作业相比,EMR Serverless 有何优势?

要运行 Glue,您必须指定MaxCapacity(对于 Glue 1.0 版或更早版本的作业)或Worker typeNumber of workers(对于 Glue 2.0 版作业)。这两个选项首先假设对每个集群的数据和工作负载有一定的了解,其次假设作业执行期间的工作负载将是均匀的,即所配置的资源不会出现过度利用或利用不足的情况。

EMR 无服务器

EMR Serverless 是 AWS EMR 的新部署选项。借助 EMR Serverless,您无需配置、优化、保护或管理集群即可在这些平台上运行应用程序。EMR Serverless 可帮助您避免在各个阶段级别处理作业时资源分配过度或不足。

EMR Serverless 自动识别作业所需的资源,配置这些资源来运行作业,并在作业完成时释放它们。如果应用程序需要在几秒钟内做出响应,例如交互式数据分析,工程师可以在应用程序创建过程中预先初始化必要的资源。这提供了简单的初始化、快速作业启动、自动容量管理和简单的成本控制。

更多信息:https://luminousmen.com/post/emr-serverless-a-400level-guide