Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS数据管道与Step函数_Amazon Web Services_Aws Step Functions_Aws Data Pipeline - Fatal编程技术网

Amazon web services AWS数据管道与Step函数

Amazon web services AWS数据管道与Step函数,amazon-web-services,aws-step-functions,aws-data-pipeline,Amazon Web Services,Aws Step Functions,Aws Data Pipeline,我正在研究一个问题,我们打算使用EMR(SparkSQL)对数据执行多个转换 在阅读了AWS数据管道和AWS Step函数的文档之后,我对每个用例试图解决的问题有点困惑。我环顾四周,但没有找到两者之间的权威性比较。有多个资源显示了我如何使用它们来调度和触发EMR集群上的Spark作业 我应该使用哪一个来安排和编排我的处理EMR作业? 更一般地说,在什么情况下,就ETL/数据处理而言,一个是更好的选择? 是的,有很多方法可以实现同样的目标,不同之处在于细节和用例。我甚至还会提供另外一种选择:) 如

我正在研究一个问题,我们打算使用EMR(SparkSQL)对数据执行多个转换

在阅读了AWS数据管道和AWS Step函数的文档之后,我对每个用例试图解决的问题有点困惑。我环顾四周,但没有找到两者之间的权威性比较。有多个资源显示了我如何使用它们来调度和触发EMR集群上的Spark作业

  • 我应该使用哪一个来安排和编排我的处理EMR作业?

  • 更一般地说,在什么情况下,就ETL/数据处理而言,一个是更好的选择?


  • 是的,有很多方法可以实现同样的目标,不同之处在于细节和用例。我甚至还会提供另外一种选择:)

    如果您正在执行一系列转换,并且所有转换都在一个EMR集群上,那么您可能只需要使用步骤创建集群,或者使用几个步骤提交一个API作业。步骤将在集群上按顺序执行

    如果您有不同的数据源,或者希望处理更复杂的场景,那么AWS数据管道和AWS Step函数都可以工作。AWS Step函数是实现工作流的通用方法,而数据管道是处理数据的专用工作流

    这意味着,在处理数据源和输出时,数据管道将得到更好的集成,并直接与S3、EMR、DynamoDB、Redshift或RDS等工具协同工作。所以对于纯数据管道问题,AWS数据管道可能是更好的选择

    话虽如此,AWS数据管道并不是很灵活。如果您需要的数据源不受支持,或者如果您想要执行一些未集成的活动,那么您需要使用shell脚本进行破解

    另一方面,AWS Step函数不是专门的,并且与一些AWS服务和AWS Lambda有很好的集成,这意味着您可以通过无服务器API轻松地与任何东西集成


    因此,这实际上取决于您需要实现什么以及您的工作量类型。

    谢谢。由于我们需要执行验证等,并处理作业之间的依赖关系,我认为EMR步骤可能不是一个干净的解决方案。主要收获:1)对于纯数据管道问题,ADP更好;2)对于需要进行复杂任意处理的情况,ASF更好。