前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据湖(二十):Flink兼容Iceberg目前不足和Iceberg与Hudi对比

数据湖(二十):Flink兼容Iceberg目前不足和Iceberg与Hudi对比

原创
作者头像
Lansonli
发布2022-07-27 00:22:08
1.4K0
发布2022-07-27 00:22:08
举报
文章被收录于专栏:Lansonli技术博客

Flink兼容Iceberg目前不足和Iceberg与Hudi对比

一、Flink兼容Iceberg目前不足

  • Iceberg目前不支持Flink SQL 查询表的元数据信息,需要使用Java API 实现。
  • Flink不支持创建带有隐藏分区的Iceberg表
  • Flink不支持带有WaterMark的Iceberg表
  • Flink不支持添加列、删除列、重命名列操作。
  • Flink对Iceberg Connector支持并不完善。

二、Iceberg与Hudi对比

Iceberg和Hudi都是数据湖技术,从社区活跃度上来看,Iceberg有超越Hudi的趋势。他们有以下共同点:

  • 都是构建于存储格式之上的数据组织方式
  • 提供ACID能力,提供一定的事务、并行执行能力
  • 提供行级别数据修改能力。
  • 提供一定的Schema扩展能力,例如:新增、修改、删除列操作。
  • 支持数据合并,处理小文件。
  • 支持Time travel 查询快照数据。
  • 支持批量和实时数据读写

Iceberg与Hudi之间不同点在于以下几点:

  • Iceberg支持Parquet、avro、orc数据格式,Hudi支持Parquet和Avro格式。
  • 两者数据存储和查询机制不同

Iceberg只支持一种表存储模式,就是有metadata file、manifest file和data file组成存储结构,查询时首先查找Metadata元数据进而过滤找到对应的 SnapShot对应的manifest files ,再找到对应的数据文件。Hudi支持两种表存储模式:Copy On Write(写时合并) 和Merge On Read(读时合并),查询时直接读取对应的快照数据。

  • 对于处理小文件合并时,Iceberg只支持API方式手动处理合并小文件,Hudi对于小文件合并处理可以根据配置自动的执行。
  • Spark与Iceberg和Hudi整合时,Iceberg对SparkSQL的支持目前来看更好。Spark与Hudi整合更多的是Spark DataFrame API 操作。
  • 关于Schema方面,Iceberg Schema与计算引擎是解耦的,不依赖任何的计算引擎,而Hudi的Schema依赖于计算引擎Schema。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Flink兼容Iceberg目前不足和Iceberg与Hudi对比
    • 一、Flink兼容Iceberg目前不足
      • 二、Iceberg与Hudi对比
      相关产品与服务
      数据湖计算 DLC
      数据湖计算DLC(Data Lake Compute,DLC)提供了敏捷高效的数据湖分析与计算服务。服务采用无服务器架构(Serverless),开箱即用。使用标准SQL语法即可完成数据处理、多源数据联合计算等数据工作,有效降低用户数据分析服务搭建成本及使用成本,提高企业数据敏捷度。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档