欢迎来到雲闪世界。AWS Glue 是一款按使用量付费的无服务器 ETL 工具,几乎不需要设置任何基础设施。它可自动完成编写、执行和监控 ETL 作业所涉及的大部分工作。如果您的数据是结构化的,您可以利用爬虫来推断架构、识别文件格式并在Glue 的数据目录中填充元数据。根据您指定的 ETL 标准,Glue 可以自动为您生成 Python 或 Scala 代码,并提供一个用于作业监控和调度的漂亮 UI。
相比之下,EMR 是一个大数据平台,旨在降低处理和分析大量数据的成本。它是一种托管服务,您可以在其中配置自己的 EC2 实例集群。您可以完全控制配置并可以安装Hadoop 生态系统组件,这使 EMR 成为一项非常灵活和复杂的服务。它的用例非常广泛。数据科学家可以使用 EMR 利用TensorFlow Hadoop 生态系统组件,这使 EMR 成为一项非常灵活和复杂的服务。它的用例非常广泛。数据科学家可以使用 EMR 利用TensorFlow库运行机器学习作业,分析师可以在Presto上运行 SQL 查询,工程师可以利用 EMR 与Kinesis或Spark等流式应用程序的集成......还有更多!
您可以用 EMR 替换 Glue,但反之则不行,EMR 的功能远远多于无服务器版本。

添加图片注释,不超过 140 字(可选)
在选择这些工具时要考虑的另一件事是成本。比较类似的集群配置时,Glue 比 EMR 更昂贵,可能是因为您要为无服务器特权和易于设置付费。
Drop 的数据湖解决方案发现从 Glue 迁移到 EMR 后,冷启动时间缩短,成本降低 80%。
目前只有3 种 Glue 工作器类型可供配置,最多提供 32GB 的执行器内存。如果您在业务逻辑中编写复杂的连接,此限制可能会成为问题。如果连接未针对性能进行优化,则执行器内存可能会很快被消耗,作业可能会失败。如果您必须解压非常大的 zip/gzip 文件,也会发生同样的情况,所有数据都将保存在一个节点上(这就是 Spark 的工作原理!)。
与此相反,EMR 有大量受支持的实例类型可供选择!(尽管您仍然希望优化连接以提高性能😃并且最好避免使用 zip 和 gzip 格式!)
使用 AWS Glue 的一个优点是它会自动将日志发送到CloudWatch,如果您的架构使用多个 AWS 服务,这将非常方便 - 为您提供一个集中监控和警报位置。另一方面,EMR 默认将日志发送到 S3 - 虽然您可以通过 EMR 的引导配置安装 CloudWatch 代理。另一方面,EMR 默认将日志发送到 S3 --- 尽管您可以通过 EMR 的引导配置安装 CloudWatch 代理。
总之,如果您的员工不熟悉 AWS 配置,并且您只想执行简单的 ETL,那么 Glue 可能是一个明智的选择。但是,如果您希望利用 Hadoop 技术并执行更复杂的转换,那么 EMR 是更可行的解决方案。
感谢关注雲闪世界。(Aws解决方案架构师vs开发人员&GCP解决方案架构师vs开发人员)