Hive SQL查询结果写入指定hdfs路径

版权声明:本文为博主原创文章,转载请注明原博客地址。 https://blog.csdn.net/u012210441/article/details/80599259

将hive查询结果写入指定hdfs路径下:

set mapred.reduce.tasks = 1;
insert overwrite directory '/xx/xx/'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '~'
select cols...
from tableName
where conditions...
distribute by rand();

设置task数 set mapred.reduce.tasks = 1; 结果数据平均分区(分区数等于task数)distribute by rand();此时结果保存在一个文件中。结果数据每行以“~”分隔 ROW FORMAT DELIMITED FIELDS TERMINATED BY '~'。

如果结果数据不大(需要保存在一个或较少的几个文件)但计算量较大,tasks=1运行较慢,可以将结果先写入一张中间hive表,再调度tasks=1的任务将中间表中数据写入指定路径。


猜你喜欢

转载自blog.csdn.net/u012210441/article/details/80599259