温馨提示:本文翻译自stackoverflow.com,查看原文请点击:amazon web services - What are the best use cases for aws glue python shell jobs vs. spark jobs?
amazon-web-services apache-spark aws-glue

amazon web services - AWS胶水python shell作业与spark作业的最佳用例是什么?

发布于 2020-04-25 12:27:00

一直在使用aw gel python shell作业来构建简单的数据etl作业,对于spark作业,仅使用过一次或两次用于转换为orc格式或对JDBC数据执行spark sql。因此,想知道哪种是最佳/典型的用例吗?一些文档说python shell作业适合简单作业,而spark则适合更复杂的作业,对吗?您能否在此分享更多经验?

非常感谢

查看更多

提问者
Jing Shen
被浏览
25
Ram Ghadiyaram 2020-02-08 01:06

每种情况下最佳/典型的用例是什么?一些文档说python shell作业适合简单作业,而spark则适合更复杂的作业,对吗?

AWS Glue是AWS提供的用于ETL作业的快速开发工具/服务。恕我直言,如果您知道在etl管道中需要做什么,这是非常快速的开发。

  • 胶水具有发现,开发,部署等组件。在“发现...”中,自动爬网(多次运行或安排爬网程序)一项重要功能,与我观察到的其他工具有所不同。

  • Glue似乎具有集成功能,可以连接到AWS生态系统服务(需要做些 Spark )

AWS Glue的典型用例可能是...
1)从数据仓库中加载数据。
2)在亚马逊s3上建立一个数据湖。

请参阅此AWS演示以获取更多信息。

Custom Spark Job也可以做同样的事情,但是需要从头开始进行开发。而且它没有内置的自动抓取功能。

但是,如果您为etl开发了 Spark 作业,那么您将具有细粒度的控制来执行复杂的作业。

两种胶水, Spark 对于ETL都有相同的目标。AFAIK,Glue适用于简单的工作,例如从源到目标的加载。如Spark作业可以在受控方式下进行各种各样的转换。

结论: 对于ETL的简单用例(无需大量开发经验即可完成),请使用Glue。对于具有许多依赖项/转换的自定义ETL,请执行spark工作。