flink 集成 iceberg问题 持续更新

调研iceberg的使用,记录下flink 集成iceberg的坑(持续更新)
简单来说 iceberg可以看作hdfs的一个文件格式,hive的升级版,提供sql操作的kafka升级版,可以用来做实时数仓,分钟级别

flink和iceberg集成以及hive的版本不兼容问题,暂为解决

目前测试1.3x flink with 0.13.x iceberg,stream api 可以正常读kafka数据源 写/读iceberg(hive/hadoop catalog)
目前测试1.11x flink with 0.11.x iceberg,stream/table api 均可正常读kafka数据源 写/读iceberg(hive/hadoop catalog)
目前测试1.3x 和1.11 数据可以互通,即使用1.13版本的stream 插入数据,如需使用sql则可以使用1.1x版本

flink stream读取iceberg时,小文件合并程序运行后导致flink 程序挂掉,报snapshot 不存在

前提:在小文件合并程序中,对data文件进行合并,并且只保留一个快照,flink 读取iceberg报错
原因:iceberg对数据的每一次写,都会产生快照,在程序中对data文件进行合并后,快照时间戳为最新,但是其他data还被其他的快照所引用,元数据找不到快照报错
解决:删除一段时间前即可

		Snapshot snapshot = table.currentSnapshot();
        // 删除一个小时前的
        long l = snapshot.timestampMillis() - 3600000;
        table.expireSnapshots().expireOlderThan(l).commit();

待续

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值