背景最近交接了一个flink项目,这个项目有点神奇,我也想了好一会才明白。这个flink程序,部署在yarn上。有如下几个配置 开启了checkpoint restart-strategy:none setCommitOffsetsOnCheckpoints(true) 停止脚本是一个pyhton ...
Flink on YARN时,如何确定TaskManager数
Referencehttps://www.jianshu.com/p/5b670d524fa5 答案Job的最大并行度除以每个TaskManager分配的任务槽数。 问题在Flink 1.5 Release Notes中,有这样一段话 Update Configuration for Reworke ...
Flink 实战采坑记之 Kryo 序列化
本文也是通过上述流程一步步解决了线上任务的问题,整体流程: 看到现象猜想可能是序列化有问题 修改 StateBackend 后结果正确,验证了猜想的正确性 解释了为什么 LinkedHashMap 会序列化出错 列出了具体的解决方案,解决方案可以举一反三(以后类似情况都可以使用本文的序列化方案) ...
Calcite RBO 出现 VALUES导致sql变型
背景在使用calcite的时候,会遇到莫名奇妙的时候,sql在经过RBO优化后整个sql变形了,出现了如下内容 FROM (VALUES (NULL, NULL, NULL, NULL, NULL, NULL)) AS `t` ( `DATE_CD`, `IDX_VAL`, `IDX_VALUE` ...
SqlNode toString源码解析以及SqlOrderBy无法根据方言自适应的bug
主要方法来来自于SqlNode.toSqlStringpublic SqlString toSqlString(UnaryOperator<SqlWriterConfig> transform) { final SqlWriterConfig config = trans ...
实例应用:获取超过10s没有更新的key
主要思路1.ValueState内部包含了计数、key和最后修改时间2.对于每一个输入的记录,ProcessFunction都会增加计数,然后注册对应的过期检测timer3.在onTimer中进行检测和输出 上代码模拟数据source如下:数据以Tuple3的形式, key,无用,时间戳的形式向下游 ...
基于文件的批量sql的Flink SQL提交程序
背景将sql写入文件中,可以写入多条sql,支持写入set、create、insert。然后程序读取文件提交运行程序。 Flink版本1.11.2 代码import org.apache.flink.streaming.api.environment.StreamExecutionEnvironm ...
AggregateProjectMergeRule 源码解析
public static RelNode apply(RelOptRuleCall call, Aggregate aggregate, Project project) { // Find all fields which we need to be straightf ...
Calcite SqlVisitor、RelShuttle 使用和源码解读使用和源码解读
SqlVisitor基础类SqlVisitor是操作与sqlNode层面的api,代码不多,主要功能是提供访问SqlNode,如果遇到满足条件的node返回对应的操作。 /* * Licensed to the Apache Software Foundation (ASF) under one o ...
Calcite SqlVisitor、RelShuttle 使用和源码解读使用和源码解读
基础类SqlVisitor是操作与sqlNode层面的api,代码不多,主要功能是提供访问SqlNode,如果遇到满足条件的node返回对应的操作。 /* * Licensed to the Apache Software Foundation (ASF) under one or more * c ...