2013-07-17 35 views
5

Sınırlı Redshift anlayışım bu benim sorunumla ilgili planım ...nasıl bir EMR işin girdi olarak RedShift sorgu çıktısını kullanılır?

Bir sorgunun sonuçlarını almak ve bir EMR işi için giriş olarak kullanmak istiyorum. Bu programatik olarak gitmenin en iyi yolu nedir?

anda benim EMR iş girişi olarak S3 düz bir dosya alır ve bu işi up ve her şeyi ayarlamak için, Amazon Java SDK kullanın.

Ben S3 benim RedShift sorgu çıktısını yazma ve orada benim EMR işi gelin ve EMR işi tamamlandıktan sonra dosyayı kaldırmak gerekir mi?

Veya RedShift ve AWS SKD daha becerikli yol sunar doğrudan boru Redshift EMR sorgu, S3 adımını kesmek için?

Teşekkür

Son Amazon Redshift Takımı memebers ile konuştum bunun için de bir çözüm çalışmalarında olduğunu söyledi.

cevap

4

Bu oldukça kolaydır - Sqoop gerek. S3 bir Redshift UNLOAD komutu yürütür işinizin önünde bir Cascading Lingual adımı ekleyin:

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

Sonra S3 doğrudan ihracat işlemlerini veya ilk HDF'ler üzerine veri getirmek için bir S3DistCp adım ekleyebilir ya.

Bu, Sqoop eklemekten çok daha fazla performans gösterecek ve bakımı daha basit olacaktır.

İlgili konular