我已经将s3中的一大组数据加载到hdfs中,然后将数据插入到impala中的一个表中。
然后我对这些数据运行了一个查询,并希望将这些结果返回到s3中。
我使用的是amazonemr和impala1.2.4。如果无法将查询结果直接返回到s3,是否有选项将数据返回到hdfs,然后如何从那里将数据发送回s3?
我把这件事搞砸了 impala-shell -o filename
选项,但这似乎只适用于本地linux文件系统。
我原以为这是一种常见的情况,但在任何地方都找不到有关保存查询结果的信息。
谢谢你的指点。
3条答案
按热度按时间iq3niunx1#
为了增加上述知识,我加入了一个命令,该命令将查询结果写入一个带有delimeter的文件,正如我们使用选项--output\u delimeter声明的那样,还使用了选项--delimetered,它实际上关闭了默认的tab delimeter选项。
slsn1g292#
如果安装了aws cli,则可以使用标准的impala shell,impala shell query | aws cli cp-s3folder/outputfilename可以使用unix管道和流(-)
nqwrtyyt3#
如果结果集很小,我通常会从命令行运行脚本,然后使用aws命令行工具上传到s3:
另一种方法是在impala中运行查询后,将配置单元用作数据管道中的最后一步:
2.配置单元步骤: