2013-07-17 65 views
5

所以我有限的了解红移,这是我的计划去我的问题......如何将RedShift查询的输出用作EMR作业的输入?

我要带一个查询的结果,并用它们作为电子病历工作的投入。这个程序化的最佳途径是什么?

当前,我的EMR作业将S3中的平面文件作为输入,并使用Amazon Java SDK来设置此作业和所有内容。

我应该将RedShift查询的输出写入S3,并将EMR作业指向那里,然后在EMR作业完成后删除文件?

或者RedShift和AWS SKD是否提供了一种更直观的方式来将查询从RedShift直接传输到EMR,从而切断了S3步骤?

感谢

最近与亚马逊红移团队的承包商,客人说话时,他们说了一个解决方案是在作品中。

回答

4

这很简单 - 不需要Sqoop。在你的工作前,其执行红移UNLOAD命令S3添加Cascading Lingual步:

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

然后你就可以直接处理S3的出口,或添加S3DistCp一步来实现数据到HDFS第一。

这会比添加Sqoop更多的性能,并且更容易维护。

相关问题