在Hive中创建视图的csv文件,然后将其放入s3中,其标头不包含表名

时间:2018-11-16 11:29:29

标签: amazon-s3 hive hiveql

我在配置单元中有一个名为prod_schoool_kolkata的视图。我以前用的是csv:

hive -e 'set hive.cli.print.header=true; select * from prod_schoool_kolkata' | sed 's/[\t]/,/g' > /home/data/prod_schoool_kolkata.csv 
EC2实例中的

。我希望路径在S3中。 我试图给出这样的路径:

hive -e 'set hive.cli.print.header=true; select * from prod_schoool_kolkata' | sed 's/[\t]/,/g' > s3://data/prod_schoool_kolkata.csv

但是csv没有被存储。

我还遇到了一个问题,即正在生成csv文件,但是每个列标题都具有类似tablename.columnname这样的模式,例如prod_schoool_kolkata.id。有什么方法可以删除正在形成的csv中的表名称。

1 个答案:

答案 0 :(得分:0)

您必须首先安装AWS Command Line Interface。

请参阅链接Installing the AWS Command Line Interface,然后按照相关的安装说明进行操作,或转到底部的部分以获取与您的操作系统(Linux / Mac / Windows等)相关的安装链接。

在确认其安装正确之后,您可以在aws文件系统上运行cp,ls等常规命令。所以,你可以做

hive -e 'set hive.cli.print.header=true; select * from prod_schoool_kolkata'|
sed 's/[\t]/,/g' > /home/data/prod_schoool_kolkata.csv

aws s3 cp /home/data/prod_schoool_kolkata.csv s3://data/prod_schoool_kolkata.csv

另请参见How to use the S3 command-line tool