当我运行以下命令时:
hdfs fs -count -q -h -v <user-path>
我看到以下数字。
QUOTA REM_QUOTA SPACE_QUOTA REM_SPACE_QUOTA DIR_COUNT FILE_COUNT CONTENT_SIZE PATHNAME
20.5 K 19.8 K 1000 G 950.5 G 82 7.6 K 13.8 G <user-path>
我认为问题出在这里。如果我在pyspark中运行以下查询,它会使用不成比例的命名空间配额。
INSERT INTO TABLE <new-table> SELECT col_1, col_2, col_3
FROM <old-partitioned-table>
WHERE YEAR='2017'
AND MONTH='03'
GROUP BY col_1, col_2;
值得指出的是,按年,月,日,小时,分区划分。我不确定是因为它存储在如此多的文件中,它还会复制到许多文件中。
是否存在此INSERT可以使用较少文件的解决方案?也许有一些我不知道的环境?