我在配置单元中创建了一个分区表。这是声明。
Create table**my_table**( Column 1 , column 2, column 3 ) PARTITIONED BY(batch_date);
我正在再创建一个表
Create table**my_table1**( Column 1 , column 2, column 3 ) PARTITIONED BY(batch_date);
我做了这个声明
INSERT INTO TABLE my_table1(batch_date='2018-02-22') select column 1, column 2, column 3 from my_table where column 1 = "ABC";
它返回零行,因为我没有任何列1=“”的值(返回零记录不是问题)
但我担心的是,我的文章中有3个专栏 INSERT INTO SELECT
声明它正在hdfs目录中创建3个空部件文件。我不想这3部分文件被创建在我的hdfs目录下,我无法解决它
而且在运行insert语句之前,我设置了下面的配置单元属性,但是没有用。
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
有人能给我建议一个解决办法吗?
谢谢。
1条答案
按热度按时间qcuzuvrc1#
请尝试设置属性hive.merge.mapredfiles=true hive.merge.size.per.task=256000000 hive.merge.smallfiles.avgsize=256000000,让我们共享您的输出。