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);
摘要由CSDN通过智能技术生成

一、小文件产生原因

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方式加载数据

load data local inpath '/export/score.csv' overwrite into table A  -- 导入文件
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;
  • 3
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值