irpas技术客

Hive数据导出到CSV的方法_灵佑666_hive导出数据到本地csv

大大的周 2605

1. 使用 insert overwrite local directory insert overwrite local directory '/url/lxb/hive' row format delimited fields terminated by ',' select * from table_name limit 100 2. 使用 hive 导出结果 hive -e "set hive.cli.print.header=true; select * from data_table where some_query_conditions" | sed 's/[\t]/,/g' > hhd.csv

set hive.cli.print.header=true能将表头输出; sed ‘s/[\t]/,/g’ 将\t替换成,

将shell里打印的内容输出到文件

3. 使用spark

执行spark-shell

val df = spark.sql("select * from test.student3") df.write.csv("/HDFS目录") hadoop fs -get /HDFS目录 XXX?

注意这里是 HDFS目录 ,spark会在目录下生成很多小的csv文件,导出后需要使用 cat *.csv > one.csv 来合并

4. 使用beeline beeline -n hive -u jdbc:hive2://XXXX:10000 --verbose=true --outputformat=csv2 -e "XXXXXXXX" >> XXX.csv --outputformat=[table/vertical/csv/tsv/dsv/csv2/tsv2] == 指定输出格式 --delimiterForDSV="*" '&' 前提(--outputformat=dsv) 指定分隔符

通过beeline导出HIVE数据至CSV较为稳定。 然后导出的数据编码为utf-8,需要进行转码。 iconv -f UTF-8 -t GBK XXX.csv to XXX_gbk.csv 有时候转GBK会报错,可以选另外两种Excel可以直接打开的编码格式。


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #hive导出数据到本地csv #1 #使用 #Insert #OVERWRITE #local #directoryinsert