簡體   English   中英

如何使用RedShift查詢的輸出作為EMR作業的輸入?

[英]How to use output of RedShift query as input of an EMR job?

所以我對Redshift的有限理解這是我解決問題的計划......

我想獲取查詢的結果,並將它們用作EMR作業的輸入。 什么是程序化的最佳方式。

目前我的EMR作業將S3中的平面文件作為輸入,我使用Amazon Java SDK來設置此作業以及所有內容。

我應該將我的RedShift查詢的輸出寫入S3,並將EMR作業指向那里,然后在EMR作業完成后刪除該文件嗎?

或者RedShift和AWS SKD是否提供了一種更加資源豐富的方式來將查詢從RedShift直接傳輸到EMR,從而切斷了S3步驟?

謝謝

最近與亞馬遜Redshift團隊的成員交談時,他們表示正在解決此問題。

這很簡單 - 不需要Sqoop。 在作業前面添加一個Cascading Lingual步驟,對S3執行Redshift UNLOAD命令:

UNLOAD ('select_statement')
TO 's3://object_path_prefix'
[ WITH ] CREDENTIALS [AS] 'aws_access_credentials' 
[ option [ ... ] ]

然后,您可以直接在S3上處理導出,也可以添加S3DistCp步驟以將數據首先導入 HDFS。

這比添加Sqoop要高得多,而且維護起來要簡單得多。

暫無
暫無

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

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