问题:Spark SQL 读不到 Flink 写入 Hudi 表的新数据,打开新 Session 才可见

94 篇文章 25 订阅 ¥99.90 ¥299.90
184 篇文章 299 订阅
《大数据平台架构与原型实现:数据中台建设实战》 博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,京东购书链接:https://item.jd.com/12677623.html,扫描左侧二维码进入京东手机购书页面。

问题描述


使用 Flink 向 Hudi 表中写入数据,使用 Spark SQL 的 Shell 查询 Hudi 表(使用的是 Hudi HMS Catalog 统一管理和同步 Hudi 表的元数据&#

Flink 中使用 Hudi 同时写入多个,可以按照以下步骤进行: 1. 引入依赖:在 Flink 项目中的 pom.xml 文件中,添加 Hudi 相关的依赖,例如 hudi-flinkhudi-client 等。 2. 创建 Flink 流式作业:使用 Flink 的 DataStream API 创建流式作业,处理输入数据并准备写入 Hudi 。 3. 配置 Hudi 写入:为每个需要写入Hudi 创建一个 HudiTableConfig 对象,配置相应的名、Schema、主键等信息。 4. 转换数据写入 Hudi :根据需要写入的多个,使用 Flink 的 DataStream API 进行数据转换操作,并将数据写入对应的 Hudi 中。可以使用 `hudiWrite()` 函数将转换后的数据写入 Hudi 。 ```java dataStream .map(new MyMapper()) // 自定义数据转换逻辑 .addSink(HoodieFlinkSink.create(hudiTableConfig1, ...)) // 将数据写入第一个 Hudi .name("Hudi Sink 1"); dataStream .map(new MyMapper()) // 自定义数据转换逻辑 .addSink(HoodieFlinkSink.create(hudiTableConfig2, ...)) // 将数据写入第二个 Hudi .name("Hudi Sink 2"); // 可以根据需要继续添加更多的 Hudi 写入操作 ``` 5. 配置并执行 Flink 作业:为 Flink 作业配置必要的参数,例如并行度、检查点等,并执行作业。 ```java StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.setParallelism(1); // 设置并行度 env.enableCheckpointing(5000); // 开启检查点 // 创建流式作业,处理数据写入 Hudi env.execute("Flink Hudi Multiple Tables Job"); ``` 需要注意的是,在配置 Hudi 时,要确保每个都有唯一的名和主键,且 Schema 结构与输入数据一致。另外,为了保证数据一致性和容错能力,在 Flink 作业中开启检查点功能是一个好的实践。 以上是一个简单的示例,具体的实现还需要根据你的实际需求和数据处理逻辑进行调整。同时,还需要根据 HudiFlink 的版本进行适配和配置。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Laurence 

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

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

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

打赏作者

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

抵扣说明:

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

余额充值