Hive 将配置单元表作为单个文件输出到HDFS

Hive 将配置单元表作为单个文件输出到HDFS,hive,hdfs,Hive,Hdfs,我试图将配置单元中的一个表的内容作为单个csv文件输出到hdfs,但是当我运行下面的代码时,它会将其拆分为5个单独的文件,每个文件大小约为500mb。在将结果输出为单个csv文件方面,我是否遗漏了一些内容 set hive.execution.engine=tez; set hive.merge.tezfiles=true; INSERT OVERWRITE DIRECTORY "/dl/folder_name" row format delimited fields terminated b

我试图将配置单元中的一个表的内容作为单个csv文件输出到hdfs,但是当我运行下面的代码时,它会将其拆分为5个单独的文件,每个文件大小约为500mb。在将结果输出为单个csv文件方面,我是否遗漏了一些内容

set hive.execution.engine=tez;
set hive.merge.tezfiles=true;
INSERT OVERWRITE DIRECTORY  "/dl/folder_name"
row format delimited fields terminated by ','
select * from schema.mytable;

在select查询中添加
orderby
子句,然后配置单元将强制运行
singlereducer
,这将在HDFS目录中只创建一个文件

INSERT OVERWRITE DIRECTORY  "/dl/folder_name"
row format delimited fields terminated by ','
select * from schema.mytable order by <col_name>;
插入覆盖目录“/dl/文件夹名称”
以“,”结尾的行格式分隔字段
从schema.mytable order by中选择*;
注意:

如果输出中的输入太大,则单个减速器可能需要很长时间才能完成。

请阅读此答案: