arc*_*ius 6 amazon-web-services aws-step-functions aws-data-pipeline
我正在解决一个问题,我们打算使用EMR(SparkSQL)对数据执行多种转换。
在查看了AWS Data Pipelines和AWS Step Functions的文档之后,对于每个尝试解决的用例,我有些困惑。我环顾四周,但没有找到两者之间的权威比较。有多种资源展示了如何使用它们来调度和触发EMR集群上的Spark作业。
我应该使用哪一个来调度和编排处理EMR作业?
更一般而言,在哪种情况下,就ETL /数据处理而言,哪一种是另一种更好的选择?
Jav*_*rez 13
是的,有很多方法可以实现相同的目标,不同之处在于细节和用例。我什至会提供另一种选择:)
如果您要进行一系列转换,并且所有转换都在EMR集群上,则可能所需要做的就是要么通过步骤创建集群,要么通过多个步骤提交API作业。步骤将在集群上按顺序执行。
如果您有不同的数据源,或者您想处理更复杂的场景,那么AWS Data Pipeline和AWS Step Functions都可以使用。AWS Step Functions是一种实现工作流的通用方法,而Data Pipelines是一种用于处理数据的专门工作流。
这意味着,在处理数据源和输出以及直接与S3,EMR,DynamoDB,Redshift或RDS等工具一起使用时,Data Pipeline将更好地集成。因此,对于纯数据管道问题,AWS Data Pipeline可能是一个更好的选择。
话虽如此,AWS Data Pipeline并不是非常灵活。如果不支持所需的数据源,或者要执行一些未集成的活动,则需要使用Shell脚本来解决问题。
另一方面,AWS Step Functions不是专门的,并且与某些AWS Services和AWS Lambda具有良好的集成,这意味着您可以通过无服务器api轻松地与任何内容集成。
因此,这实际上取决于您需要实现什么以及您拥有的工作负载的类型。
| 归档时间: |
|
| 查看次数: |
1731 次 |
| 最近记录: |