Hive导出查询结果到本地文件有两种方式:
- 通过“INSERT OVERWRITE [LOCAL] DIRECTORY directory1 SELECT ...FROM ...”方式
- 通过hive客户端执行查询文件并将结果重定向到导出文件
insert方式示例
insert overwrite local directory '/opt/test_pro/hive3.1.2/emp_export.txt'
row format delimited fields terminated by '\t' lines terminated by '\n'
select * from emp;
通过hive客户端执行查询文件并将结果重定向到导出文件示例
hive -f hive_exec.sql | sed -e 's/\t/,/g' >hive_res.csv
其中,hive_exec.sql为待执行的SQL文件,首行为设置输出结果的表头,内容如下
set hive.cli.print.header=true;
select * from emp