所以我对红移的有限理解这是我解决问题的计划…
我想获取查询的结果,并将它们用作EMR作业的输入。最好的编程方式是什么?
目前,我的电子病历作业从S3获取一个平面文件作为输入,我使用Amazon Java SDK来设置此作业和所有内容。
我是否应该将RedShift查询的输出写入S3,并将我的电子病历作业指向那里,然后在电子病历作业完成后删除该文件?
或者,RedShift和AWS SKD提供了一种更足智多谋的方法,可以直接将查询从RedShift传送到电子病历,从而省去了S3步骤?
谢谢
最近与亚马逊Redshift团队的成员进行了交谈,他们表示,解决方案正在进行中。
发布于 2014-01-16 16:42:08
这非常简单--不需要Sqoop。在作业前面添加一个对S3执行Redshift UNLOAD
命令的Cascading Lingual步骤:
UNLOAD ('select_statement')
TO 's3://object_path_prefix'
[ WITH ] CREDENTIALS [AS] 'aws_access_credentials'
[ option [ ... ] ]
然后,您可以直接在S3上处理导出,也可以添加一个S3DistCp步骤,首先将数据带到HDFS上。
这将比添加Sqoop的性能好得多,而且维护起来也简单得多。
https://stackoverflow.com/questions/17711018
复制相似问题