Flink问题之从SavePoint启动任务修改的代码不生效

本文涉及的产品
实时计算 Flink 版,1000CU*H 3个月
简介: Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。

问题一:关于jdbc connector扩展问题


hi all我这里有个需求需要从sql里面写数据到clickhouse里面,但是看源码,发现并不好扩展,https://github.com/apache/flink/blob/d04872d2c6b7570ea3ba02f8fc4fca02daa96118/flink-connectors/flink-connector-jdbc/src/main/java/org/apache/flink/connector/jdbc/dialect/JdbcDialects.java#L30, 这里我看直接写死仅支持DerbyDialect、MySQLDialect、PostgresDialect,而且这个类不支持注册jdbc新驱动,如果想在SQL里面支持其他类型的数据库的话,该怎么弄


参考回答:

目前 flink-connector-jdbc 还不支持注册

dialect,社区有这方面的计划,但是目前还没有资源做这一块,这是个比较复杂的功能,需要对接口做细致的设计。

目前你可以拿 flink-connector-jdbc 源码,加一个自己的 Dialect 类,在 JdbcDialects 中注册进你的

dialect,然后编译打包就可以了。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/372060


问题二:Flink从SavePoint启动任务,修改的代码不生效


背景:Flink版本1.6.4,数据源为Kafka的主题A,B,消费者组相同 操作步骤:1.使用SavePoint取消任务。 2.修改代码将B去掉,只消费A主题。 3.从SavePoint启动任务,发现消费者组在B主题下的偏移量也回到了任务停止时的偏移量,之后偏移量马上变成了最新并继续消费。 想知道为什么修改代码不生效。


参考回答:

估计你是用同一个 Kafka Source 消费 A B 两个 Topic? 如果是,看起来像是 Kafka Connector 早期的一个问题。

作业停止的时候,Topic B 的 partition offset 被存储到 Savepoint 中,然后在恢复的时候,尽管代码中 Topic B 已经被移除,但它的 partition offset 还是被恢复了。

这个问题在后来的版本,估计是 1.8 或 1.9,被修复了。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/372058


问题三:Flink状态调试


Hi, 各位大佬们,请教一下: Flink的checkpoint怎么调试啊,我想看程序目前的状态,拿到了checkpoint的文件,打开后有一些东西是乱码,没有结构性,有方法吗?


参考回答:

想 debug checkpoint 文件的话,可以参考下这个 UT[1]

[1]

https://github.com/apache/flink/blob/master/flink-runtime/src/test/java/org/apache/flink/runtime/checkpoint/CheckpointMetadataLoadingTest.java


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/372057


问题四:Flink sql 主动使数据延时一段时间有什么方案


我们有这样一个场景,双流join,一个快流,一个慢流,想让快流等一段时间,目的是能提高join的命中率。

FLink sql有什么方案实现吗?


参考回答:

我们也遇到过类似场景。

如果你的数据里面有事件时间,可以写个udf来判断下,如果事件时间-当前时间 小于某个阈值,可以sleep一下。

如果没有事件时间,那就不太好直接搞了,我们是自己搞了一个延迟维表,就是保证每条数据进到维表join算子后等固定时间后再去join。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/372055


问题五:Flink SQL 关键字 user?


我发现我创建表 字段名为 user会报错。 user是关键字吗,还是其他原因

"CREATE TABLE ods_foo (\n" +

" id INT,\n" +

" user ARRAY<ROW >\n" +

") WITH (

Exception in thread "main" org.apache.flink.table.api.SqlParserException: SQL parse failed. Encountered "user" at line 3, column 5.

Was expecting one of:


参考回答:

是的,user是关键字,关键字列表可以参考[1].

如果遇到关键字,可以使用 ` 来处理,比如:

CREATE TABLE user (...) WITH (...);

[1]

https://ci.apache.org/projects/flink/flink-docs-master/dev/table/sql/#reserved-keywords


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/372053

相关实践学习
基于Hologres+Flink搭建GitHub实时数据大屏
通过使用Flink、Hologres构建实时数仓,并通过Hologres对接BI分析工具(以DataV为例),实现海量数据实时分析.
实时计算 Flink 实战课程
如何使用实时计算 Flink 搞定数据处理难题?实时计算 Flink 极客训练营产品、技术专家齐上阵,从开源 Flink功能介绍到实时计算 Flink 优势详解,现场实操,5天即可上手! 欢迎开通实时计算 Flink 版: https://cn.aliyun.com/product/bigdata/sc Flink Forward Asia 介绍: Flink Forward 是由 Apache 官方授权,Apache Flink Community China 支持的会议,通过参会不仅可以了解到 Flink 社区的最新动态和发展计划,还可以了解到国内外一线大厂围绕 Flink 生态的生产实践经验,是 Flink 开发者和使用者不可错过的盛会。 去年经过品牌升级后的 Flink Forward Asia 吸引了超过2000人线下参与,一举成为国内最大的 Apache 顶级项目会议。结合2020年的特殊情况,Flink Forward Asia 2020 将在12月26日以线上峰会的形式与大家见面。
相关文章
|
8月前
|
SQL 运维 Java
蚂蚁 Flink 实时计算编译任务 Koupleless 架构改造
本文介绍了对Flink实时计算编译任务的Koupleless架构改造。为解决进程模型带来的响应慢、资源消耗大等问题,团队将进程模型改为线程模型,并借助Koupleless的类加载隔离能力实现版本和包的隔离。通过动态装配Plugin及其Classpath,以及Biz运行时仅对依赖Plugin可见的设计,大幅优化了编译任务的性能。结果表明,新架构使编译耗时降低50%,吞吐量提升5倍以上。
蚂蚁 Flink 实时计算编译任务 Koupleless 架构改造
|
6月前
|
Java 调度 流计算
基于Java 17 + Spring Boot 3.2 + Flink 1.18的智慧实验室管理系统核心代码
这是一套基于Java 17、Spring Boot 3.2和Flink 1.18开发的智慧实验室管理系统核心代码。系统涵盖多协议设备接入(支持OPC UA、MQTT等12种工业协议)、实时异常检测(Flink流处理引擎实现设备状态监控)、强化学习调度(Q-Learning算法优化资源分配)、三维可视化(JavaFX与WebGL渲染实验室空间)、微服务架构(Spring Cloud构建分布式体系)及数据湖建设(Spark构建实验室数据仓库)。实际应用中,该系统显著提升了设备调度效率(响应时间从46分钟降至9秒)、设备利用率(从41%提升至89%),并大幅减少实验准备时间和维护成本。
344 0
|
Java Shell Maven
Flink-11 Flink Java 3分钟上手 打包Flink 提交任务至服务器执行 JobSubmit Maven打包Ja配置 maven-shade-plugin
Flink-11 Flink Java 3分钟上手 打包Flink 提交任务至服务器执行 JobSubmit Maven打包Ja配置 maven-shade-plugin
691 4
|
资源调度 分布式计算 大数据
大数据-111 Flink 安装部署 YARN部署模式 FlinkYARN模式申请资源、提交任务
大数据-111 Flink 安装部署 YARN部署模式 FlinkYARN模式申请资源、提交任务
436 0
|
资源调度 Java Scala
实时计算 Flink版产品使用问题之如何实现ZooKeeper抖动导致任务失败时,能从最近的检查点重新启动任务
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
Oracle 关系型数据库 MySQL
实时计算 Flink版产品使用问题之如何从savepoint重新启动作业
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
Kubernetes Java 数据库连接
实时计算 Flink版产品使用问题之部署到 Kubernetes 集群时,任务过一会儿自动被取消,该如何排查
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
资源调度 流计算
Flink 1.12 yarn-cluster模式触发Savepoint with Yarn指定-yid报异常failed timeout问题及解决
官方给出触发Savepoint with YARN的命令指定了-yid,测试后发现不应指定-yid。分析应该是早期版本需指定-yid,后期版本(至少Flink 1.12)不需要指定-yid,而官网文档未及时更新这个细节问题。
1009 0
Flink 1.12 yarn-cluster模式触发Savepoint with Yarn指定-yid报异常failed timeout问题及解决
|
4月前
|
存储 分布式计算 数据处理
「48小时极速反馈」阿里云实时计算Flink广招天下英雄
阿里云实时计算Flink团队,全球领先的流计算引擎缔造者,支撑双11万亿级数据处理,推动Apache Flink技术发展。现招募Flink执行引擎、存储引擎、数据通道、平台管控及产品经理人才,地点覆盖北京、杭州、上海。技术深度参与开源核心,打造企业级实时计算解决方案,助力全球企业实现毫秒洞察。
482 0
「48小时极速反馈」阿里云实时计算Flink广招天下英雄

相关产品

  • 实时计算 Flink版