将列标题添加到配置单结果集

Sam*_*Sam 9 hive amazon-s3 amazon-emr

我在Amazon EMR上使用hive脚本来分析一些数据.

我正在将输出传输到Amazon s3存储桶.现在,hive脚本的结果不包含列标题.

我也试过用这个:

 set hive.cli.print.header=true;
Run Code Online (Sandbox Code Playgroud)

但它没有帮助.你能帮我吗?

小智 8

你的蜂巢脚本到底是什么样的?

您的配置单元脚本的输出是否包含标题数据?将输出复制到s3存储桶时会丢失吗?

如果您可以提供有关您正在做的事情的更多详细信息,那将会有所帮助.

如果不了解这些细节,可以尝试以下方法.

创建您的配置单元脚本如下:

USE dbase_name:
SET hive.cli.print.header=true;
SELECT some_columns FROM some_table WHERE some_condition;
Run Code Online (Sandbox Code Playgroud)

然后运行你的脚本:

$ hive -f hive_script.hql > hive_output
Run Code Online (Sandbox Code Playgroud)

然后将输出复制到s3存储桶

$ aws s3 cp ./hive_output s3://some_bucket_name/foo/hive_output
Run Code Online (Sandbox Code Playgroud)


www*_*www 3

我想直接的方式仍然是不可能的(HIve:将列标题写入本地文件?)。一些解决方案是将结果导出DESCRIBE table_name到文件:

$ hive -e 'DESCRIBE table_name' > file
Run Code Online (Sandbox Code Playgroud)

并编写一些脚本将列名称添加到数据文件中。GL!