回顾|Apache Flink Meetup · 北京站(附问题解答 & PPT 下载)

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 9月24日,Apache Flink Meetup 线上问题解答 + PPT 获取方式

img

Flink 1.16、Flink Batch、更轻量的 Checkpoint、Table Store 0.2、 Streaming Warehouse 、流批一体...这些都是 9 月 24 日 Apache Flink Meetup 的关键词。

活动现场照片:https://live.photoplus.cn/live/pc/91397712/#/live

活动视频回顾 & PPT 获取

PC 端

建议前往 Apache Flink 学习网:
https://flink-learning.org.cn/activity/detail/f30571911e47478ddf4047eeb518d796

移动端

PPT:关注 Apache Flink 公众号,回复 0924
视频:关注 ApacheFlink 视频号,查看直播回放

线上问题解答

01《更快更稳更易用 -- Flink 批处理能力演进》

问:自适应这个是默认开启吗?

答:目前没有默认开启,需要用户配置使用自适应批处理调度器来启用。具体可以参考社区文档
https://nightlies.apache.org/flink/flink-docs-release-1.15/zh/docs/deployment/elastic_scaling/#adaptive-batch-scheduler

问:自适应能不能解决数据倾斜问题?

答:当前版本还不能。但是 Adaptive Batch Scheduler 的实现已经为数据倾斜的解决提供了基础。后续我们会根据各个数据分区的大小,对其进行分组,使得各个下游消费的数据尽可能均衡。当然,这样解决不了非常严重的热点 key 问题。不过动态执行拓扑的引入,使得引入子拓扑来对热点 key 进行拆分整合成为了可能,从而解决热点 key 的问题,我们会持续关注这方面的需求并考虑完善的解决方案。

02《Flink 1.16:Hive SQL 如何平迁到 Flink SQL》

问:能不能把一些额外的组件和 flink 项目分开。感觉和 flink 版本绑定了,用 sqlclient 等组件就必须用那个版本的 flink。

答:目前Flink仓库的一些 connector 正在搬出 Flink 主仓库,之后 Flink 项目会瘦身。SQL Client 正在重构并通过 REST API 对接到 SQL Gateway。届时 SQL Client 可以与 Flink 版本解耦,可以同时对接多个版本的 SQL Gateway 和 Flink 集群版本。

问:sql gateway 后续会支持 spark/trino 引擎吗?

答:SQL Gateway 目前只面向 Flink 引擎。外部的生态系统可以通过 SQL Gateway 搭建多引擎平台。

问:sql gateway 与 kyuubi 的定位是否类似?

答:两者的定位和作用是类似的,都是为查询引擎提供 SQL 服务。但两者又有所不同, Kyuubi 起源于为 Spark/Hive 提供 SQL 服务,主要面向批场景。但是 Flink SQL Gateway 主要面向的是 Flink 引擎,从一开始就将流批一体的能力设计进去了,能同时很好地支撑Streaming SQL和Batch SQL的用户场景。

问:sqlgateway 和 kyuubi flink 引擎有什么不同?有哪些优势吗?

答:目前 SQL Gateway 在功能上对 JDBC 的支持更为完善(getPK,getColumns),支持同步/异步执行SQL,能无缝对接主流 Hive 生态工具。第二个就是 kyuubi 主要依赖 Hive 接口来暴露服务,Hive 的纯批语义无法支持 CDC 的 DELETE、UPDATE_BEFORE、UPDATE_AFTER 等消息类型,但是我们的 SQL Gateway 还提供了 REST API,对Streaming SQL提供了原生支持。第三,SQL Gateway 的 HiveServer2 Endpoint 与 Hive 做了深度集成,便于用户直接将 Hive 作业无缝迁移到 Flink。

问:sqlgateway 支持哪几种模式?三种模式都支持吗?

答:目前只支持 session, per-job 模式,但还不支持 application 模式。

问:未来会支持 spark/presto sql 方言么?

答:其实 spark 方言和 hive 方言比较类似。一些 spark sql 任务也可以使用 Hive dialect 来解析然后通过 Flink 来运行。presto sql 方言目前还没规划。

问:sqlgateway 是否提供多租户能力,是否能支持鉴权功能、HA功能?

答:目前支持多租户,但还不支持鉴权功能和 HA 功能,将来后续版本中支持。

03《基于Log的通用增量Checkpoint》

问:这是什么版本的优化

答:1.15开始支持,1.16做了一些性能优化和状态特性的兼容等,基本生产可用,可以参照1.16的文档使用

问:有没有一种场景是要获取上一个成功的任务的状态,接着下一个开始,又不想查数据,可以直接获取到。不想使用流任务占资源。

答:是说在多个任务之间共享状态吗?这个的话可以考虑下State Processor API

问:基于 log 的 checkpoint 是如何影响 flink table store 的?整个过程是怎么样的?

答:可以把table store当成事务性sink来看,目前table store推荐的cp interval是1 mins,近实时,但是否实际cp能在1 mins完成,或者是否能配置更低的interval来让table stroe中的数据更实时,取决于cp完成得多快,changelog是可以在这方面做提升的

问:这个通用增量 checkpoint 是以 rocksdb 为 state backend 时设置增量 checkpoint 的另一选择吗?

答:两者是正交的,可以在state.backend.incremental设置为true的基础上再打开changelog

04《基于 Flink CDC + Kafka 加速业务实时化》

问:如果仅仅是一个库的多张表呢?只能多条语句吗?

答:可以使用 CREATE DATABASE AS (CDAS) 同步同一数据库中的多张表

问:除了 mysql&kafka 数据同步外,schema 能同步到 registry 吗?

答:暂不支持该功能

问:flink cdc 全量和增量利用 watermark 是怎么切换的?具体是怎么配置的?

答:这里的 watermark 与 Flink watermark 概念不同。为避免全量读取过程中数据发生变化产生不一致,在进行全量读取之前首先会记录当前 binlog 的位点,记为 low watermark,在全量读取结束后再记录一次 binlog 位点作为 high watermark,然后再将 low / high watermark 之间对全量数据产生的变更 binlog 合并到全量读取的数据中,实现全量数据的完全一致。

问:cdc 将不同数据源同步到 kafka 中,有没有对消息体数据格式做统一,消息体是否带 schema?

答:Kafka 消息统一使用 JSON 格式,不会单独记录 Schema。

问:kafka catalog 在哪里记录的 topic schema 呢?

答:Topic schema 不会单独记录。Kafka JSON Catalog 在读取表时会通过探测的方式首先读取多条数据、解析 JSON 来确定 schema。

问:demo 里用的什么版本的 kafka

答:Demo 使用了 Kafka 2.4.1,但该功能不绑定于某个 Kafka 版本。

问:作业启动后中途要添加一张表的同步要怎么处理?

答:暂时无法处理新表,MySQL CDC source 后续会增加动态加表的能力

问:flink cdc 整库除了入 kafka 外,能入湖和入仓吗?

答:商业版已支持数据同步到 Hologres,其他数据湖/仓库会陆续支持。

问:flink cdc&kafka 同一个库下大表和小表同步资源使用上有什么不同策略么?

答:默认不会对不同表的资源做特殊处理,但用户可以在平台上手动配置算子并发。

O1CN01gJeFjl20KeJFPI0qp_!!6000000006831-0-tps-828-1068.jpg

05《Flink Table Store 典型应用场景》

问:flink table store 什么版本可用?

答:flink table store 0.1.0 是 beta 版本,0.2.1 是生产可用版本。支持 flink 1.14 和 1.15 版本。

问:宽表合并中若两条流没有公共 pk 怎么办?

答:0.3会考虑这种场景的打宽,后续会有单独设计

问:fts 会有小文件问题么?

答:flink table store 在写数据的同时异步 compaction

问:flink sql gateway 的进度能介绍下吗?

答:flink-sql-gateway 会在1.16发布

问:目前 table store 不支持流读是么?还没有changelog

答:支持流读,数据库cdc可以配置changlog-producer=input来优化读取性能

O1CN01lFtKjf22ZsiDoFrPy_!!6000000007135-0-tps-1170-1530.jpg


Flink Forward Asia 2022 正式启动

img

img

活动推荐

阿里云基于 Apache Flink 构建的企业级产品-实时计算Flink版现开启活动:
99 元试用 实时计算Flink版(包年包月、10CU)即有机会获得 Flink 独家定制卫衣;另包 3 个月及以上还有 85 折优惠!
了解活动详情:https://www.aliyun.com/product/bigdata/sc

image.png

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
16天前
|
存储 消息中间件 Java
Apache Flink 实践问题之原生TM UI日志问题如何解决
Apache Flink 实践问题之原生TM UI日志问题如何解决
29 1
|
14天前
|
消息中间件 监控 数据挖掘
基于RabbitMQ与Apache Flink构建实时分析系统
【8月更文第28天】本文将介绍如何利用RabbitMQ作为数据源,结合Apache Flink进行实时数据分析。我们将构建一个简单的实时分析系统,该系统能够接收来自不同来源的数据,对数据进行实时处理,并将结果输出到另一个队列或存储系统中。
59 2
|
16天前
|
消息中间件 分布式计算 Hadoop
Apache Flink 实践问题之Flume与Hadoop之间的物理墙问题如何解决
Apache Flink 实践问题之Flume与Hadoop之间的物理墙问题如何解决
30 3
|
16天前
|
消息中间件 运维 Kafka
Apache Flink 实践问题之达到网卡的最大速度如何解决
Apache Flink 实践问题之达到网卡的最大速度如何解决
33 2
|
18天前
|
消息中间件 前端开发 Kafka
【Azure 事件中心】使用Apache Flink 连接 Event Hubs 出错 Kafka error: No resolvable bootstrap urls
【Azure 事件中心】使用Apache Flink 连接 Event Hubs 出错 Kafka error: No resolvable bootstrap urls
|
16天前
|
SQL 运维 分布式计算
Apache Flink 实践问题之避免用户作业包中包含Flink的core包如何解决
Apache Flink 实践问题之避免用户作业包中包含Flink的core包如何解决
33 1
Apache Flink 实践问题之避免用户作业包中包含Flink的core包如何解决
|
16天前
|
数据采集 分布式计算 Kubernetes
Apache Flink 实践问题之ZooKeeper 网络瞬断时如何解决
Apache Flink 实践问题之ZooKeeper 网络瞬断时如何解决
35 4
|
11天前
|
Java 微服务 Spring
驾驭复杂性:Spring Cloud在微服务构建中的决胜法则
【8月更文挑战第31天】Spring Cloud是在Spring Framework基础上打造的微服务解决方案,提供服务发现、配置管理、消息路由等功能,适用于构建复杂的微服务架构。本文介绍如何利用Spring Cloud搭建微服务,包括Eureka服务发现、Config Server配置管理和Zuul API网关等组件的配置与使用。通过Spring Cloud,可实现快速开发、自动化配置,并提升系统的伸缩性和容错性,尽管仍需面对分布式事务等挑战,但其强大的社区支持有助于解决问题。
23 0
|
16天前
|
消息中间件 Java 数据处理
揭秘Apache Flink的Exactly-Once神技:如何在数据流海中确保每条信息精准无误,不丢不重?
【8月更文挑战第26天】Apache Flink 是一款先进的流处理框架,其核心特性 Exactly-Once 语义保证了数据处理的精准无误。尤其在金融及电商等高要求场景下,该特性极为关键。本文深入解析 Flink 如何实现 Exactly-Once 语义:通过状态管理确保中间结果可靠存储;利用一致的检查点机制定期保存状态快照;以及通过精确的状态恢复避免数据重复处理或丢失。最后,提供一个 Java 示例,展示如何计算用户访问次数,并确保 Exactly-Once 语义的应用。
37 0
|
18天前
|
消息中间件 Java Kafka
【Azure 事件中心】开启 Apache Flink 制造者 Producer 示例代码中的日志输出 (连接 Azure Event Hub Kafka 终结点)
【Azure 事件中心】开启 Apache Flink 制造者 Producer 示例代码中的日志输出 (连接 Azure Event Hub Kafka 终结点)

相关产品

  • 实时计算 Flink版
  • 推荐镜像

    更多