小文件太多会有什么影响
(1)存储层面
1个文件块,占用namenode多大内存150字节 128G能存储多少文件块? 128 g1024m1024kb*1024byte/150字节 = 9.1亿文件块
(2)计算层面
每个小文件都会起到一个MapTask,1个MapTask默认内存1G。浪费资源。
合并小文件两种方式:
1、hive使用mr引擎
ALTER TABLE 表 PARTITION(分区) CONCATENATE;
只支持 RCFILE 和 ORC 文件类型
可多次执行
2、hive使用spark引擎
-- 开启shuffle并行度为x,结果会合并为3个文件
set spark.sql.</