
7 月 29 日 Streaming Lakehouse Meetup 邀请了来自阿里巴巴、字节跳动的七位技术专家,围绕 CDC 数据入湖实践、Flink 一站式湖仓一体构建、流式数据湖关键特性以及统一的 RSS 等,全方位解析 Streaming Lakehouse 最前沿的技术,最新的产业实践!Flink、Paimon、Celeborn、Flink CDC、StarRocks 多个开源项目汇聚在一起,与现场的百余位开发者展开交流。
Streaming Lakehouse Meetup
活动现场
https://live.photoplus.cn/live/pc/53265145/#/
PC 端
建议前往 Apache Flink 学习网:
https://flink-learning.org.cn/activity/detail/69d2ec07bc2f664d000a954f49ed33aahttps://developer.aliyun.com/live/252125
移动端
视频回顾/PPT 下载:关注 Apache Flink 公众号,回复 0729
问:湖仓一体架构和 MPP 架构有什么区别?
答:最大的区别就是数据湖保存了所有数据,具有查询的灵活性。而 MPP 架构由于需要极高的查询性能,它的存储成本较昂贵,不能保存所有数据。问:对象存储下,如何平衡小文件、高性能 CDC 写入速度和下游尽可能实时流读表三个诉求?Paimon 表的参数要怎么调整?
答:Paimon 会自动合并小文件。如果你在意文件系统上小文件你可以调小 Snapshot retain。https://paimon.apache.org/docs/master/maintenance/manage-files/ https://paimon.apache.org/docs/master/maintenance/write-performance/问:存储底层查询效率可以用类似于 Alluio 加速吗?
答:可以对接 Alluio 来加速,Paimon本身不做文件的缓存,但是下面使用的文件系统可以是缓存的文件系统。答:可以看下 Flink CDC github wiki 里的一些文章,一些最佳实践文章有介绍。问:Tag 能在数据链路上所有 Paimon 表上同时打吗?
答:目前不能,是单独对每个表打的。你可以通过 watermark 来完成类似的事情。https://paimon.apache.org/docs/master/maintenance/manage-tags/#automatic-creation https://paimon.apache.org/docs/master/how-to/querying-tables/#consumer-id问:对于替代消息队列,如果要求秒级查询,Paimon 如何能够做到?
答:不行哦,目前只能是 1 分钟左右的时延,社区后续有计划搞 embedded queue 来支持秒级。问:Flink 怎么实现增量开窗?
答:不太明确增量开窗的具体含义,Flink SQL 有三种聚合,over window、window agg、普通 group by,我们一般推荐普通 group by + state TTL。问:Flink CDC 什么时候会支持阿里云 Hologres?
答:Hologres 不是开源产品,这块 SDK 社区同学都不太熟悉,目前 Hologres 没有小伙伴来社区贡献,所以短期不会支持。问:Checkpoint 丢失后如何防止从新处理化处理大表重算?
答:Checkpoint 丢失后对所有Flink作业来说都需要无状态重做,可以保留最近几天的 Checkpoint,这样恢复时从最近某天的一个 Checkpoint 恢复,代价不会很大,也不会重新读取大表。问:Paimon 替代消息队列其延迟时长跟 Snapshot 产生周期一样么?
问:Flink CDC 全量和增量并行度要如何独立设置?
答:目前只需要设置全量阶段的并发,进入增量后,可以修改下 CDC Source 并发,然后从最近的 Checkpoint 重启下作业就可以。2.4.1 版本之后,全量阶段的资源可以自动释放,所以全量进入增量后,不把并发改下资源也可以在一定程度上回收。问:请教 Oracle CDC,Oracle 归档日志爆满,可以怎么解决?
答:需要判断下归档的日志是不是下游消费慢,可以调节下游作业让消费跟上,另外如果可以确认下游作业不再使用,可以清理掉归档日志。问:请教一下老师,Flink CDC 直接进行聚合,比如 sum 的值在删除的时候会将 sum 的值减掉吗?
答:会的,Flink CDC 吐出的 CDC 数据和 Flink SQL 里的 Changelog 是严格对应的,所以Flink SQL 的聚合是会回撤掉你 db 中的删除条目对应的值。问:下游小时任务需要等待 Flink 某小时数据全部到达后再执行,有什么好的方法监控前一个的小时数据全部到达?
答:这个需要自己做下二次开发,在 Sink 里做下埋点,判断满足条件后调用自定义逻辑(通知下游调度系统)。■ 了解更多相关技术问题,可搜索下方⬇️钉群群号加入社区钉钉交流群,讨论技术并得到实时的支持~
Apache Paimon 交流群:10880001919
Flink CDC 钉钉交流群:33121212
Flink Batch 钉钉交流群:34817520
▼ 「活动回顾」扫下方图片观看全场直播回放▼
▼ 关注「Apache Flink」,获取更多技术干货 ▼
点击「阅读原文」,免费领取 5000CU*小时 Flink 云资源