Hudi Java Client总结|读取Hive写Hudi代码示例

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站:https://www.captainai.net/dongkelun

前言

Hudi除了支持Spark、Fink写Hudi外,还支持Java客户端。本文总结Hudi Java Client如何使用,主要为代码示例,可以实现读取Hive表写Hudi表。当然也支持读取其他数据源,比如mysql,实现读取mysql的历史数据和增量数据写Hudi。

版本

Hudi 0.12.0

功能支持

支持insert/upsert/delete,暂不支持bulkInsert
目前仅支持COW表
支持完整的写Hudi操作,包括rollback、clean、archive等

代码

完整代码已上传GitHub:https://github.com/dongkelun/hudi-demo/tree/master/java-client

其中HoodieJavaWriteClientExample是从Hudi源码里拷贝的,包含了insert/upsert/delte/的代码示例,JavaClientHive2Hudi是我自己的写的代码示例总结,实现了kerberos认证、读取Hive表Schema作为写hudi的Schema、读取Hive表数据写hud

  • 49
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 87
    评论
您好!要配置Hudi Java客户端的资源,您可以按照以下步骤进行操作: 1. 添加 Maven 依赖:在您的项目的 pom.xml 文件中添加以下依赖项: ```xml <dependency> <groupId>org.apache.hudi</groupId> <artifactId>hudi-client</artifactId> <version>0.10.0-incubating</version> </dependency> ``` 请确保将版本号替换为您所需的Hudi版本。 2. 创建 Hudi 客户端配置对象:在您的 Java 代码中,创建 `HoodieClientConfig` 对象并设置相应的配置选项,例如: ```java import org.apache.hudi.config.HoodieClientConfig; import org.apache.hudi.hive.MultiPartKeysValueExtractor; HoodieClientConfig config = HoodieClientConfig.newBuilder() .withPath("/path/to/hudi/dataset") .withSchema("avro_schema_here") .withParallelism(2, 2) .withCompactionConfig(HoodieCompactionConfig.newBuilder() .compactionSmallFileSize(1024 * 1024 * 1024) .insertSplitSize(1024 * 1024 * 1024) .build() ) .withPayloadClass(MyPayload.class) .withPreCombineField("timestamp") .withMultiPartitionsValueExtractor(MultiPartKeysValueExtractor.class.getName()) .build(); ``` 请根据您的实际情况修改上述示例中的路径、模式和其他配置选项。 3. 创建 Hudi 客户端:使用上述配置对象创建 `HoodieWriteClient` 或 `HoodieReadClient`,例如: ```java import org.apache.hudi.HoodieWriteClient; import org.apache.hudi.common.model.HoodieTableType; HoodieWriteClient writeClient = new HoodieWriteClient<>(config, sparkSession); ``` 请注意,您需要提供适当的 SparkSession 对象作为参数。 以上是配置Hudi Java客户端资源的基本步骤。您可以根据您的需求进行相应的配置调整。希望对您有所帮助!如果您有任何进一步的问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

董可伦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值