要将配置单元数据导出到csv,请使用以下脚本:
请注意,这只是一个例子:
#!/bin/bash
hive -e "insert overwrite local directory '/tmp/'
row format delimited fields terminated by ','
select * from Mydatabase,Mytable limit 10"
> /tmp/table.csv
我在本地路径中获取了一个csv文件:/ tmp /,它看起来像:
2017-07-04 12:58:05.0,MB0_CLI_2,29353,0982,SAIE,MNIT-BM,-,-
2017-07-04 12:56:07.0,MBUD00_CLI_2,629353,662982,SAE,MBEINIT-BM,-,-
2017-07-04 12:56:46.0,MBUDLI_2,618,65530,SAISIE,MBUIT-BA,-,-
2017-07-04 12:56:13.0,82_CLI_3,65082954,47857,UNAGE,-,PARERS,-
2017-07-04 12:56:05.0,822I_3,654,857,UNDGE,-,PAIRS,-
2017-07-04 12:59:28.0,823,65084,6926461,UNDNED_AAGE,-,PLIERS,-
2017-07-04 12:59:05.0,82200_CLI_3,65954,69461,UNNED_AFAGE,-,PULIERS,-
2017-07-04 12:56:46.0,MBUDLI_2,618,65530,SAISIE,MBUIT-BA,-,-
2017-07-04 12:56:13.0,82_CLI_3,65082954,47857,UNAGE,-,PARERS,-
2017-07-04 12:56:46.0,MBUDLI_2,618,65530,SAISIE,MBUIT-BA,-,-
问题是csv文件没有导入每列的头部
如何将hive表导出到带有列标题的csv文件中?
答案 0 :(得分:0)
hive -e 'set hive.execution.engine=tez; set hive.cli.print.header=true; select * from <TableName>' | sed 's/,/ /g' | sed 's/[\t]/,/g' > /tmp/tableName.csv