我想将配置单元表格数据导出到带有标题的json
文件。我已经编写了一个shell脚本,用于将配置组表数据导出为json
文件,但我希望头部随数据一起出现。我正在使用插入覆盖来解决这个问题。
这是我的脚本,
hive -e "set hive.cli.print.header=true ;
insert overwrite local directory '/home/zeas/Chaitra/result'
row format SERDE 'org.apache.hive.hcatalog.data.JsonSerDe'
STORED AS TEXTFILE select * from zeas.demo_airline_data_dataset"
即使我有set hive.cli.print.header=true;
,标题也不会出现。有没有办法使用insert重写来获取头部和数据?
发布于 2018-08-03 00:23:11
使用--showheader=false
,你可以使用--showheader=true
来查看头部,如果你不写beeline,这也是默认的。
如果您仍然没有看到它,那么您可以使用类似于下面的查询来仅获取标题,并在写入内容之前将其写入到输出文件中
header=`<BEELINE_CONN_STRING> --silent=true --outputformat=dsv --delimiterForDSV=<delimiter> -e "set tez.queue.name=<queuename>; use <database_name>; select * from <table_name> limit 0;"`
下面的代码行用于删除table_name,因为我们通常不希望在最终输出中包含表名
echo $header | sed "s/<table_name>.//g" >> ${final_output_file}
https://stackoverflow.com/questions/41568362
复制相似问题