flink问题之state过期设置如何解决

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

问题一:flink任务提交方式


请问现在flink有没有像sparklauncher这种任务提交方式,在任务提交成功后返回对应的任务id(不管是onyarn还是standlone),我这面想用java代码提交任务并在提交后获取任务id,请问有没有对应功能或工具


参考回答:

1.10.x版本以后env.execute()是返回一个JobExecutionResult

对象的,这里面可以获取到job相关信息,比如你想要的jobid


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


问题二:flink的state过期设置


想咨询一下关于state的ttl问题;

想问一下 state设置的ttl,如果从checkpoints重启 ttl会不会失效;ttl针对的是process time,

比如我设置的7天过期,重新从checkpoints启动是第一次启动的时间算还是恢复时的新processtime算;他是state的一部分 还是怎么算;

或者要注册定时器来实现


参考回答:

TTL的时间戳实际是会存储在 state 里面 [1],与每个entry在一起,也就是说从Checkpoint恢复的话,数据里面的时间戳是当时插入时候的时间戳。

[1] https://github.com/apache/flink/blob/ba92b3b8b02e099c8aab4b2b23a37dca4558cabd/flink-runtime/src/main/java/org/apache/flink/runtime/state/ttl/TtlValueState.java#L50


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


问题三:UDTAGGs sql的查询怎么写


https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/table/functions/udfs.html#table-aggregation-functions 请问下UDTAGGs支持sql的写法吗,怎么写?看官档上只有table api的示例。


参考回答:

因为UDTAGGs不属于标准SQL的语法,所以只有TableApi


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


问题四:flink内存分配的问题


taskmanager的内存设置为15G但实际的heap只有10G

看了tm内存分配的源码1.计算cutoff(15GB * 0.25) 2.计算heap大小(heap计算的入参是15GB - cutoff大小) 3.计算offheap大小(offheap的大小等于15GB-heap大小)

offheap就是最终的-XX:MaxDirectMemorySize的大小

想请教下MaxDirectMemorySize的大小有必要设置这么大吗?


参考回答:

FLINK TM 中是用到了大量的堆外内存的,除了通常意义的 JVM 的栈空间、方法区等堆外开销外,还包括网络 buffer、batch

缓存、RocksDB等。

默认配置是相对保守,为了保证大多数情况下预留出足够的堆外内存。具体是否设置过大了,要看具体运行的作业的情况。可以尝试通过配置'containerized.heap-cutoff-ratio'进行调整。

另外,即将发布的flink 1.10版本中对TM的内存计算进行了优化,不再采用cutoff而是根据用途列出了更具体的配置项,欢迎试用


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


问题五:StreamTableEnvironment.registerDatastream()


StreamTableEnvironment.registerDatastream() 开放用户自定义的schemaDescriptionh和DeserializationSchema StreamTableEnvironment.registerDatastream(),目前只支持pojo 或者 是public属性的对象,根据默认字段或者用户指定的字段注册table,但某些场景下没有固定的格式,比如使用JSONObject类型DataStream就无法通过这种方法注册成table,是否可以提供更底层的API来使table注册的灵活性更高。用户传入schema的描述和自定义的解析器DeserializationSchema.


参考回答:

你这种需求的一种解决思路,可以把 JSONObject类型定义成object类型,然后注册成table之后通过一个UDTF把JSONObject转换成特定的schema。


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


相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
目录
相关文章
|
2月前
|
流计算
在Flink中,你可以通过以下方法为join操作设置并行度
【2月更文挑战第27天】在Flink中,你可以通过以下方法为join操作设置并行度
23 3
|
11天前
|
监控 调度 流计算
【Flink】Flink的并行度了解吗?Flink的并行度设置是怎样的?
【4月更文挑战第18天】【Flink】Flink的并行度了解吗?Flink的并行度设置是怎样的?
|
2月前
|
XML SQL 关系型数据库
Flink CDC产品常见问题之binlog 过期如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。
|
2月前
|
SQL 关系型数据库 MySQL
Flink CDC产品常见问题之CDC首次启动跑数据后再次启动就报错如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。
|
3月前
|
消息中间件 SQL 关系型数据库
Flink数据源问题合集之设置成批量模式如何解决
Flink数据源是指Apache Flink用于读取外部系统数据的接口或组件;本合集将探讨Flink数据源的类型、配置方法和最佳实践,以及在使用数据源时可能遇到的错误和解决方案。
32 2
|
4月前
|
消息中间件 存储 Kafka
在Flink中,可以通过配置`KafkaConsumer`的`properties`参数来设置两个不同的SASL机制
【1月更文挑战第19天】【1月更文挑战第91篇】在Flink中,可以通过配置`KafkaConsumer`的`properties`参数来设置两个不同的SASL机制
80 3
|
3月前
|
消息中间件 Kafka Apache
Apache Flink 是一个开源的分布式流处理框架
Apache Flink 是一个开源的分布式流处理框架
487 5
|
2月前
|
SQL Java API
官宣|Apache Flink 1.19 发布公告
Apache Flink PMC(项目管理委员)很高兴地宣布发布 Apache Flink 1.19.0。
1370 1
官宣|Apache Flink 1.19 发布公告
|
2月前
|
SQL Apache 流计算
Apache Flink官方网站提供了关于如何使用Docker进行Flink CDC测试的文档
【2月更文挑战第25天】Apache Flink官方网站提供了关于如何使用Docker进行Flink CDC测试的文档
147 3
|
2月前
|
XML Java Apache
Apache Flink自定义 logback xml配置
Apache Flink自定义 logback xml配置
152 0

相关产品

  • 实时计算 Flink版