簡體   English   中英

AWS數據管道與步驟功能

[英]AWS Data Pipeline vs Step Functions

我正在研究一個問題,我們打算使用EMR(SparkSQL)對數據進行多次轉換。

在瀏覽AWS Data Pipelines和AWS Step Functions的文檔后,我對每個嘗試解決的用例有些疑惑。 我環顧四周,但沒有找到兩者之間的權威比較。 有多種資源顯示我如何使用它們來安排和觸發EMR集群上的Spark作業。

  1. 我應該使用哪一個來安排和編排處理EMR作業?

  2. 更一般地說,就ETL /數據處理而言,在什么情況下哪一方比另一方更好?

是的,有很多方法可以實現相同的功能,不同之處在於細節和用例。 我甚至會提供另一種選擇:)

如果您正在進行一系列轉換並且所有這些轉換都在EMR集群上,那么您可能只需要創建具有步驟的集群,或者通過幾個步驟提交API作業。 步驟將在您的群集上按順序執行。

如果您擁有不同的數據源,或者您希望處理更復雜的方案,那么AWS Data Pipeline和AWS Step Functions都可以運行。 AWS Step Functions是實現工作流的通用方式,而Data Pipelines是用於處理Data的專用工作流。

這意味着在處理數據源和輸出時,數據管道將更好地集成,並直接使用S3,EMR,DynamoDB,Redshift或RDS等工具。 因此,對於純數據管道問題,AWS Data Pipeline可能是更好的候選者。

話雖如此,AWS Data Pipeline並不是很靈活。 如果不支持您需要的數據源,或者您想要執行某些未集成的活動,那么您需要使用shell腳本來解決問題。

另一方面,AWS Step Functions並不專業,並且與某些AWS服務和AWS Lambda具有良好的集成,這意味着您可以通過無服務器apis輕松集成任何內容。

所以它實際上取決於您需要實現的目標以及您擁有的工作負載類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM