如何将数据更快导入数据湖?

1. 摘要

Apache Hudi除了支持insertupsert外,还支持bulk_insert操作将数据摄入Hudi表,对于bulk_insert操作有不同的使用模式,本篇博客将阐述bulk_insert不同的模式以及与其他操作的比较。

Apache Hudi支持bulk_insert操作来将数据初始化至Hudi表中,该操作相比insertupsert操作速度更快,效率更高。bulk_insert不会查看已存在数据的开销并且不会进行小文件优化。

bulk_insert按照以下原则提供了3种模式来满足不同的需求

•如果数据布局良好,排序将为我们提供良好的压缩和upsert性能。特别是记录键具有某种排序(时间戳等)特征,则排序将有助于在upsert期间裁剪大量文件,如果数据是按频繁查询的列排序的,那么查询将利用parquet谓词下推来裁剪数据,以确保更低的查询延迟。•写parquet文件是内存密集型操作。当将大量数据写入一个也被划分为1000个分区的表中时,如果不进行任何排序,写入程序可能必须保持1000个parquet写入器处于打开状态,同时会产生不可持续的内存压力,并最终导致崩溃。

•在批量导入数据时,最好控制好少的文件个数,以避免以后写入和查询时的元数据开销。

3种开箱即用的模式为:PARTITION_SORTGLOBAL_SORTNONE

2. 配置

可以通过hoodie.bulk

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值