[英]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.