当前位置:   article > 正文

HIVE中小文件问题_hive小文件产生的原因

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);

这种方式每次插入时都会产生一个文件,多次插入少量数据就会出现多个小文件,但是这种方式生产环境很少使用,可以说基本没有使用的

2.通过load方式加载数据

  1. load data local inpath '/export/score.csv' overwrite into table A -- 导入文件
  2. load data local inpath '/export/score' overwrite into table A -- 导入文件夹

使用 load 方式可以导入文件或文件夹,当导入一个文件时,hive表就有一个文件,当导入文件夹时,hive表的文件数量为文件夹下所有文件的数量

3.通过查询方式加载数据

insert overwrite table A  select s_id,c_name,s_score from B;
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/727954
推荐阅读
相关标签
  

闽ICP备14008679号