数据湖(六):Hudi 与 Flink 整合

本文介绍了如何将Hudi 0.8.0与Flink 1.12.x进行整合,强调了在整合过程中必须开启checkpoint且需要至少5次才能在Hudi中看到数据。同时,文章提到了遇到的两个问题:本地执行Flink代码时的`AbstractMethodError`异常,以及Flink读取Hudi数据时的HoodieException,这些问题可能与Hudi版本支持有关。
摘要由CSDN通过智能技术生成

Hudi 与 Flink 整合

Hudi0.8.0 版本与 Flink1.12.x 之上版本兼容,目前经过测试,Hudi0.8.0 版本开始支持 Flink,通过 Flink 写数据到 Hudi 时,必须开启 checkpoint,至少有 5 次 checkpoint 后才能看到对应 hudi 中的数据。

但是应该是有一些问题,目前问题如下:

  • 在本地执行 Flink 代码向 Flink 写数据时,存在“java.lang.AbstractMethodError: Method org/apache/hudi/sink/StreamWriteOperatorCoordinator.notifyCheckpointComplete(J)V is abstract”错误信息,预计是 hudi 版本支持问题。

  • 写入到 Flink 中的数据,如果使用 Flink 读取出来,会有对应的错误:“Exception in thread "main" org.apache.hudi.exception.HoodieException: Get table avro schema error”,这个错误主要是由于上一个错误导致 Hudi 中没有 commit 信息,在内部读取时,读取不到 Commit 信息导致。

一、maven pom.xml 导入如下包

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <flink.version>1.12.1</flink.version>
</properties>

<dependencies>
    <!-- Flink操作Hudi需要的包-->
    <dependency>
        <groupId>org.apache.hudi</groupId>
        <artifactId>hudi-flink-bundle_2.11</artifactId>
        <version>0.8.0</version>
    <
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值