小文件专项

Hive的小文件合并参数;

Spark的小文件合并思路:

采用社区 SPARK-24940 的方式处理,借助 SQL hint 的方式合并小文件。

INSERT ... SELECT /*+ COALESCE(numPartitions) */ ...

INSERT ... SELECT /*+ REPARTITION(numPartitions) */ ...

增加自动合并小文件结果文件。

  • 用户侧:当 spark.sql.shuffle.partitions 设置比较大且结果数据集比较小时,会产生大量小文件,新增 spark.sql.result.partitions 参数来控制最终输出的文件数。
  • 平台侧:数据落盘时触发小文件检测,在 InsertIntoHiveTable 中判断如果开启小文件合并,并且文件的平均大小低于阈值则执行合并,合并之后再执行 loadTable 或者 loadPartition 操作。(平台侧默认开启)

动态设置 Shuffle Partition。

Spark Adaptive Execution 功能支持 Shuffle 操作下游 Stage 根据上游 Stage 产生的 Shuffle 数据量自动调节下游 Stage 的 Task 数,即 Shuffle Read 时多个小文件 Partition

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值