簡體   English   中英

設置EMR后,如何在Data Pipeline中將文件從S3復制到Amazon EMR?

[英]How do I copy a file from S3 to Amazon EMR in Data Pipeline after EMR is provisioned?

我正在AWS中創建數據管道來運行Pig任務。 但是我的Pig任務需要EMR中的其他文件。 我如何告訴Data Pipeline在創建集群之后且運行任務清管器之前將文件復制到EMR?

我只需要運行這兩個命令。

hdfs dfs -mkdir /somefolder
hdfs dfs -put somefile_from_s3 /somefoler/

如果可以修改Pig腳本,則可以運行mkdir並將命令放在腳本頂部( https://pig.apache.org/docs/r0.9.1/cmds.html )。

否則,您可以使用運行在EmrCluster上的ShellCommandActivity並在運行PigActivity之前執行這些命令。 此選項有一個缺點,因為如果ShellCommandActivity成功,但是PigActivity失敗,則僅再次重新運行PigActivity不會獲得運行該活動所需的文件,這意味着必須重新運行整個管道。 因此,我建議第一個解決方案。

無論哪種方式,我都很樂意為您制作一個工作樣本。 請讓我知道您想查看哪種解決方案。

謝謝。

您可以在創建集群證明加一步這里

您可以配置配置單元或豬腳本來執行復制。 您也可以使用命令行添加步驟。

另外,您是否嘗試過直接使用“ s3://”? 在大多數情況下,您可以通過“ s3://”方案將s3用作本機Hadoop文件系統。 這避免了將數據從S3復制到HDFS的需要。

--
-- import logs and break into tuples
--
raw_logs =  -- load the weblogs into a sequence of one element tuples
  LOAD 's3://elasticmapreduce/samples/pig-apache/input' USING TextLoader AS (line:chararray);

暫無
暫無

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

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