Advertisement

Hive处理小文件的问题

阅读量:

一、小文件产生原因

  1. 在进行动态分区数据插入操作时,极易导致生成大量体积较小的文件

  2. 数据源本身即包含众多小型文件

  3. 数据的增量导入方式,例如 Sqoop 导入以及通过增量 insert 方式导入数据等

  4. 分桶表(主要功能为文件切分,但容易引发小文件问题)

1.2.3 均属于数据导入过程中出现的问题:

在 Hive 系统中,小文件的生成必然与向 Hive 表导入数据的过程相关,因此首先需要了解向 Hive 表导入数据的主要方式

  1. 直接将数据插入到表中
复制代码
    insert into table A values (1,'zhangsan',88),(2,'lisi',61);
    

此种方式在每次执行插入操作时均会生成一个独立文件,若频繁插入少量数据,将导致大量小型文件的产生。然而,该方法在实际生产环境中极少被采用,几乎未见实际应用案例。

  1. 采用load方式进行数据加载
复制代码
 load data local inpath '/export/score.csv' overwrite into table A  -- 导入文件

    
 load data local inpath '/export/score' overwrite into table A   -- 

全部评论 (0)

还没有任何评论哟~