我在hive中创建了一个分区表。这是声明。
angular.module('yourModule')
.config(['$httpProvider', function($httpProvider) {
$httpProvider.interceptors.push(['$q', function($q) {
return {
request: function(config) { ... },
response: function(response) { ... },
...
}
}]);
}]);
我正在再创建一个表
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);
并返回零行,因为我没有列1 =“ABC”的任何值; (返回零记录不是问题)
但我担心的是,因为我在INSERT INTO TABLE my_table1(batch_date='2018-02-22') select column 1, column 2, column 3 from my_table where column 1 = "ABC";
语句中有3列,所以它在hdfs目录中创建了3个空部分文件。我不希望在我的hdfs目录下创建这3个部分文件,我无法解决它
并且在运行insert语句之前,我确实设置了以下hive属性但没有用。
INSERT INTO SELECT
有人可以建议我一个解决方案吗?
感谢。
答案 0 :(得分:0)
请尝试设置属性hive.merge.mapredfiles = true hive.merge.size.per.task = 256000000 hive.merge.smallfiles.avgsize = 256000000 让我们分享你的输出。