回复: FlinkSQL Upsert/Retraction 写入 MySQL 的问题

2020-04-27 文章 1101300123
如果我的sink是mysql 支持主键索引,我可不可以理解处理逻辑是retract 和upsert是一样的;上游数据false标记的是失效的记录,我删除失效的或者更新失效的数据是无区别的; 其实我还是对retract流和upsert流有点疑问 https://ci.apache.org/projects/flink/flink-docs-release-1.10/zh/dev/table/streaming/dynamic_tables.html Append-only stream: A dynamic table that is only modified by INSERT

Re: 回复: 回复: FlinkSQL Upsert/Retraction 写入 MySQL 的问题

2020-04-27 文章 Jark Wu
是能提高一定的效率。不过可能会导致结果正确性问题。 Best, Jark On Tue, 28 Apr 2020 at 14:16, 1101300123 wrote: > 我知道,我的意思是,upsert自己实现了,我可以直接丢弃false的数据不做处理这样会不会提升部分效率 > > > 在2020年4月28日 14:11,Jark Wu 写道: > UpsertSink 仍然可能会收到 delete 消息的,所以你可以看到 UpsertSink 的输入是 Tuple2 > ,当 false 时代表 delelte,true 时代表 upsert 消息。 > > Best, > J

回复: 回复: 回复: FlinkSQL Upsert/Retraction 写入 MySQL 的问题

2020-04-27 文章 1101300123
我知道,我的意思是,upsert自己实现了,我可以直接丢弃false的数据不做处理这样会不会提升部分效率 在2020年4月28日 14:11,Jark Wu 写道: UpsertSink 仍然可能会收到 delete 消息的,所以你可以看到 UpsertSink 的输入是 Tuple2 ,当 false 时代表 delelte,true 时代表 upsert 消息。 Best, Jark On Tue, 28 Apr 2020 at 14:05, 1101300123 wrote: 我看源码这样写道: /** * Get dialect upsert statement, the

Re: 回复: 回复: FlinkSQL Upsert/Retraction 写入 MySQL 的问题

2020-04-27 文章 Jark Wu
UpsertSink 仍然可能会收到 delete 消息的,所以你可以看到 UpsertSink 的输入是 Tuple2 ,当 false 时代表 delelte,true 时代表 upsert 消息。 Best, Jark On Tue, 28 Apr 2020 at 14:05, 1101300123 wrote: > 我看源码这样写道: > /** > * Get dialect upsert statement, the database has its own upsert syntax, > such as Mysql > * using DUPLICATE KEY

回复:回复: 回复: FlinkSQL Upsert/Retraction 写入 MySQL 的问题

2020-04-27 文章 1101300123
我看源码这样写道: /** * Get dialect upsert statement, the database has its own upsert syntax, such as Mysql * using DUPLICATE KEY UPDATE, and PostgresSQL using ON CONFLICT... DO UPDATE SET.. * * @return None if dialect does not support upsert statement, the writer will degrade to * the use of selec

Re:Re: Flink Buildin UDF 性能较慢

2020-04-27 文章 forideal
Hi Jark: Thanks for your replay! 1. 是基于哪个版本,哪个 planner 进行的测试? Flink 1.9.0 Blink Planner 2. 流计算模式还是批计算模式? 流计算模式 3. 你的自定义 UDAF 有注册成 "sum" 吗?能使用另一个名字,比如"mysum" 来避免可能的命名冲突吗? 注册的名字为 red_sum Best forideal 在 2020-04-28 11:13:50,"Jark Wu" 写道: >Hi, > >看了你的 UDAF 的实现,理论上是不可能比内置 count/s

Re: 关于撤回流的Watermark问题

2020-04-27 文章 Benchao Li
Hi lec, 不好意思,这个行为是之前的行为。这个最近已经在FLINK-16887中顺手把这个行为修改了。 我之前也建了一个issue:https://issues.apache.org/jira/browse/FLINK-16844 想修改这个行为的, 不过还没有得到committer的认同。这个issue那我现在可以关掉了。 那么我们按照当前最新的代码来看的话,你可以认为Window Operator是支持retract消息的。 那么对于retract消息的处理,其实跟普通的append消息是相同的,过期的retract消息同样会被直接丢弃。 lec ssmi 于2020

回复: 回复: FlinkSQL Upsert/Retraction 写入 MySQL 的问题

2020-04-27 文章 wangl...@geekplus.com.cn
Thanks Leonard, JDBCUpsertTableSink 按照 Upsert 的方式处理,实际执行的 SQL 语句是 INSERT INTO ON DUPLICATE KEY 吗? 这个在源代码哪个地方呢? 谢谢, 王磊 wangl...@geekplus.com.cn 发件人: Leonard Xu 发送时间: 2020-04-27 12:58 收件人: user-zh 主题: Re: FlinkSQL Upsert/Retraction 写入 MySQL 的问题 Hi,wanglei > INSERT INTO mysql_sink SEL

Re: 关于撤回流的Watermark问题

2020-04-27 文章 lec ssmi
但是我在DataStreamGroupWindowAggregateBase这个类里面,发现以下两个方法都是true啊。 override def needsUpdatesAsRetraction = true override def consumesRetractions = true Benchao Li 于2020年4月28日周二 上午10:19写道: > Hi lec, > > Window Operator目前是不支持retract的输入的。 > > lec ssmi 于2020年4月28日周二 上午9:45写道: > > > Hi: > >在tableAPI中,

Re: Support LRU cache in JDBCLookupFunction

2020-04-27 文章 tao siyuan
谢谢。 Jark Wu 于2020年4月28日周二 上午11:00写道: > FYI > > 1. 增加统计缓存命中情况: https://issues.apache.org/jira/browse/FLINK-16038 > 2. 增加异步交互模式: https://issues.apache.org/jira/browse/FLINK-14902 > > > On Mon, 27 Apr 2020 at 17:01, tao siyuan wrote: > > > 好的,谢谢 > > > > Benchao Li 于2020年4月27日周一 下午5:00写道: > > > >

Re: Re: FlinkSQL Upsert/Retraction 写入 MySQL 的问题

2020-04-27 文章 Jark Wu
https://github.com/apache/flink/blob/master/flink-connectors/flink-jdbc/src/main/java/org/apache/flink/api/java/io/jdbc/dialect/JDBCDialects.java#L261 Best, Jark On Tue, 28 Apr 2020 at 10:24, wangl...@geekplus.com.cn < wangl...@geekplus.com.cn> wrote: > Thanks Leonard, > > JDBCUpsertTableSink 按照

Re: flink 1.10内存设置

2020-04-27 文章 Xintong Song
Managed 用的是 native memory,是不受 JVM 管理的,因此不会体现在 JVM 的启动参数上。可以参考一下邮件列表里之前的讨论内容[1]。 Thank you~ Xintong Song [1] http://apache-flink.147419.n8.nabble.com/Flink-tt1869.html On Tue, Apr 28, 2020 at 9:32 AM 蒋佳成(Jiacheng Jiang) <920334.

Re: Flink Buildin UDF 性能较慢

2020-04-27 文章 Jark Wu
Hi, 看了你的 UDAF 的实现,理论上是不可能比内置 count/sum 快的。可能是哪里有 bug 或是测试方式不对。 我想先问几个问题: 1. 是基于哪个版本,哪个 planner 进行的测试? 2. 流计算模式还是批计算模式? 3. 你的自定义 UDAF 有注册成 "sum" 吗?能使用另一个名字,比如"mysum" 来避免可能的命名冲突吗? Best, Jark On Tue, 28 Apr 2020 at 10:46, forideal wrote: > 大家好: > > > 我最近在使用 Flink SQL 做一些性能测试,我发现 Flink Buildin 的

Re: Support LRU cache in JDBCLookupFunction

2020-04-27 文章 Jark Wu
FYI 1. 增加统计缓存命中情况: https://issues.apache.org/jira/browse/FLINK-16038 2. 增加异步交互模式: https://issues.apache.org/jira/browse/FLINK-14902 On Mon, 27 Apr 2020 at 17:01, tao siyuan wrote: > 好的,谢谢 > > Benchao Li 于2020年4月27日周一 下午5:00写道: > > > 我觉得是可以的。 > > > > tao siyuan 于2020年4月27日周一 下午4:24写道: > > > >

Flink Buildin UDF 性能较慢

2020-04-27 文章 forideal
大家好: 我最近在使用 Flink SQL 做一些性能测试,我发现 Flink Buildin 的 Aggr 性能都很慢,比如 COUNT,LISTAGG 等等。 我采用自己写的 count 性能是 buildin 的 COUNT 的函数的两倍都不止。(各种窗口都测试过,不知道是不是我使用错误) SQL: select query_nor, sum(cast (1asbigint))as query_nor_counter from ods_search_track groupby query_nor, HOP(

Re: windows用户使用pyflink问题

2020-04-27 文章 tao siyuan
好像没效果,我复制了所有site-packages下的包到External Libraries下 但显示的复制路径是site-packages。 Zhefu PENG 于2020年4月28日周二 上午10:16写道: > 可以尝试在external lib把site-packages下的内容都添加进去,可以帮助提升开发效率。 > > On Tue, Apr 28, 2020 at 10:13 tao siyuan wrote: > > > 目前,pycharm不支持pyflink开发,请问在windows > > 系统下,还有其他有效工具或者方式能更加方便得支持pyflink的开发,

Re: windows用户使用pyflink问题

2020-04-27 文章 Wei Zhong
Hi Tao, PyFlink 的windows支持正在开发中,预计在1.11发布。届时可以解决在windows下开发PyFlink的问题。 > 在 2020年4月28日,10:23,tao siyuan 写道: > > 好的,我试试 > > Zhefu PENG 于2020年4月28日周二 上午10:16写道: > >> 可以尝试在external lib把site-packages下的内容都添加进去,可以帮助提升开发效率。 >> >> On Tue, Apr 28, 2020 at 10:13 tao siyuan wrote: >> >>> 目前,pycharm不支

回复: Re: FlinkSQL Upsert/Retraction 写入 MySQL 的问题

2020-04-27 文章 wangl...@geekplus.com.cn
Thanks Leonard, JDBCUpsertTableSink 按照 Upsert 的方式处理,实际执行的 SQL 语句是 INSERT INTO ON DUPLICATE KEY 吗? 这个在源代码哪个地方呢? 谢谢, 王磊 wangl...@geekplus.com.cn 发件人: Leonard Xu 发送时间: 2020-04-27 12:58 收件人: user-zh 主题: Re: FlinkSQL Upsert/Retraction 写入 MySQL 的问题 Hi,wanglei > INSERT INTO mysql_sink SELE

Re: windows用户使用pyflink问题

2020-04-27 文章 tao siyuan
好的,我试试 Zhefu PENG 于2020年4月28日周二 上午10:16写道: > 可以尝试在external lib把site-packages下的内容都添加进去,可以帮助提升开发效率。 > > On Tue, Apr 28, 2020 at 10:13 tao siyuan wrote: > > > 目前,pycharm不支持pyflink开发,请问在windows > > 系统下,还有其他有效工具或者方式能更加方便得支持pyflink的开发,debugging,源码track吗? > > >

Re: 关于撤回流的Watermark问题

2020-04-27 文章 Benchao Li
Hi lec, Window Operator目前是不支持retract的输入的。 lec ssmi 于2020年4月28日周二 上午9:45写道: > Hi: >在tableAPI中,带有时间属性的聚合,比如window聚合,对于retract消息的事件延迟怎么处理呢? >举个例子, >假设上游使用了last_value 操作加over window操作,一直生成一条数据的最新值,然后和另外一个流做join , 再进行 time > > window聚合操作。现在已经十点,最大延迟为一个小时,这个时候event-time为9点的消息,已经超过了最大延迟,但是

Re: windows用户使用pyflink问题

2020-04-27 文章 Zhefu PENG
可以尝试在external lib把site-packages下的内容都添加进去,可以帮助提升开发效率。 On Tue, Apr 28, 2020 at 10:13 tao siyuan wrote: > 目前,pycharm不支持pyflink开发,请问在windows > 系统下,还有其他有效工具或者方式能更加方便得支持pyflink的开发,debugging,源码track吗? >

windows用户使用pyflink问题

2020-04-27 文章 tao siyuan
目前,pycharm不支持pyflink开发,请问在windows 系统下,还有其他有效工具或者方式能更加方便得支持pyflink的开发,debugging,源码track吗?

关于撤回流的Watermark问题

2020-04-27 文章 lec ssmi
Hi: 在tableAPI中,带有时间属性的聚合,比如window聚合,对于retract消息的事件延迟怎么处理呢? 举个例子, 假设上游使用了last_value 操作加over window操作,一直生成一条数据的最新值,然后和另外一个流做join , 再进行 time window聚合操作。现在已经十点,最大延迟为一个小时,这个时候event-time为9点的消息,已经超过了最大延迟,但是在join中仍然生成一条join后的记录(因为join不过滤超时的数据),这条记录会对原先join好的一条记录进行撤回。那这个撤回消息,在到达time window的时候,因为超过了

flink背压问题

2020-04-27 文章 阿华田
线上任务对背压进行了监控,背压一直正常,任务却出现了大量的数据延迟,数据延迟不会产生背压吗? | | 王志华 | | a15733178...@163.com | 签名由网易邮箱大师定制

?????? flink 1.10????????

2020-04-27 文章 ??????(Jiacheng Jiang)
hi Xintong     flink1.10??-Xmx,-Xms,-XX:MaxDirectMomerySize,-XX:MaxMetaspaceSizemanaged memorymanaged memory??jvmmetaspace??managed memoryjvm???

Re: flink 1.10内存设置

2020-04-27 文章 Xintong Song
Framework Off-heap 和 Task Off-Heap 之间是没有隔离的。Network 可以认为和前面两者是有隔离的,会在初始化的时候申请一个固定大小的 buffer pool,整个运行过程中的内存占用是一个常量。 Thank you~ Xintong Song On Mon, Apr 27, 2020 at 6:14 PM 蒋佳成(Jiacheng Jiang) <920334...@qq.com> wrote: > Thank you Xintong.我还有一个问题官网上: > -XX:MaxDirectMemorySizeFramework + Task

Re: 任务假死

2020-04-27 文章 Weihua Hu
你配置的 jobmanager.execution.failover-strategy 是什么呢?如果是 region 的话,作业不会因为 Task 失败状态变为异常。 可以在WEB ui 进入作业拓扑查看单个 task 的状态 Best Weihua Hu > 2020年4月26日 11:43,yanggang_it_job 写道: > > 感谢您的回复,这个问题和您刚才给我的场景有些相似,但还是有些许差异。 > 刚才试了几种方式,图片好像都无法访问。 > 下面我详细介绍下异常情况 > 1、我的任务是从三个kafka读取,然后通过onGroup实现left > join语义,

?????? flink 1.10????????

2020-04-27 文章 ??????(Jiacheng Jiang)
Thank you Xintong.?? -XX:MaxDirectMemorySizeFramework + Task Off-Heap + Network Memory MaxDirectMemorySize=Framework Off-Heap + Task Off-Heap + Network Memory??MaxDirectMemorySize=10??10=1+1+8??10=1+8+1,??2??3?

Re: 晚于watermark的数据何时被抛弃

2020-04-27 文章 Benchao Li
嗯,如果是普通的group by,的确是做不到的。 lec ssmi 于2020年4月27日周一 下午5:59写道: > 谢谢回答。 > 但这样存在一个问题,加入我不使用window,用普通的group by hour > 来实现聚合,hour为string类型。我也需要丢弃掉晚于watermark的数据, > sql中,在 TableAggregateFunction 里面是无法操作的。 > DataStream 有ProcessFunction,当然是可以实现的。 > > Benchao Li 于2020年4月27日周一 下午5:47写道: > > > Hi, > > > >

Re: 晚于watermark的数据何时被抛弃

2020-04-27 文章 lec ssmi
谢谢回答。 但这样存在一个问题,加入我不使用window,用普通的group by hour 来实现聚合,hour为string类型。我也需要丢弃掉晚于watermark的数据, sql中,在 TableAggregateFunction 里面是无法操作的。 DataStream 有ProcessFunction,当然是可以实现的。 Benchao Li 于2020年4月27日周一 下午5:47写道: > Hi, > > 你的理解是对的,只有涉及到时间的一些算子才会有可能丢弃迟到的数据,比如典型的就是Window和CEP。 > 像普通的算子Map、Filter这种,不涉及到时间的概

Re: 晚于watermark的数据何时被抛弃

2020-04-27 文章 Benchao Li
Hi, 你的理解是对的,只有涉及到时间的一些算子才会有可能丢弃迟到的数据,比如典型的就是Window和CEP。 像普通的算子Map、Filter这种,不涉及到时间的概念,不会丢弃数据的。 lec ssmi 于2020年4月27日周一 下午5:38写道: > Hi: > 如果有晚于watermark的数据,只有涉及到时间的算子,比如时间窗口,才会自动地过滤掉这些数据吗?或者说其他算子,比如map,join > 也会自动过滤掉而不处理? > 感觉类似于ProcessFunction,提供了一个获取currentWatermark的方法,是否不处理,都取决于自己的代码逻辑。 >

晚于watermark的数据何时被抛弃

2020-04-27 文章 lec ssmi
Hi: 如果有晚于watermark的数据,只有涉及到时间的算子,比如时间窗口,才会自动地过滤掉这些数据吗?或者说其他算子,比如map,join 也会自动过滤掉而不处理? 感觉类似于ProcessFunction,提供了一个获取currentWatermark的方法,是否不处理,都取决于自己的代码逻辑。

Re: Support LRU cache in JDBCLookupFunction

2020-04-27 文章 tao siyuan
好的,谢谢 Benchao Li 于2020年4月27日周一 下午5:00写道: > 我觉得是可以的。 > > tao siyuan 于2020年4月27日周一 下午4:24写道: > > > 谢谢, > > > > 我能否为第二个意见提交一个issue,为connector增加一个JDBCLookupFunction的异步接口 > > > > Benchao Li 于2020年4月27日周一 下午4:11写道: > > > > > Hi, > > > > > > 第一个意见现在已经有了一个issue[1]和pr,可以参考一下。 > > > 第二个意见据我所知是有异步维表的接口和实

Re: Support LRU cache in JDBCLookupFunction

2020-04-27 文章 Benchao Li
我觉得是可以的。 tao siyuan 于2020年4月27日周一 下午4:24写道: > 谢谢, > > 我能否为第二个意见提交一个issue,为connector增加一个JDBCLookupFunction的异步接口 > > Benchao Li 于2020年4月27日周一 下午4:11写道: > > > Hi, > > > > 第一个意见现在已经有了一个issue[1]和pr,可以参考一下。 > > 第二个意见据我所知是有异步维表的接口和实现,但是connector还没有实现。 > > > > [1] https://issues.apache.org/jira/browse/

Re: flink 批方式如何读取多路径文件或通配符文件

2020-04-27 文章 Jingsong Li
"all FileInputFormats have to support multiple paths" 如果你有自己的实现,overwrite supportsMultiPaths它为true,几乎所有的实现有是true的。 如果你使用DataStream,需注意了,不能使用StreamExecutionEnvironment.createInput(不支持多路径),需显示使用addSource(new InputFormatSourceFunction) Best, Jingsong Lee On Mon, Apr 27, 2020 at 3:43 PM 无痕 <95509...

Re: Support LRU cache in JDBCLookupFunction

2020-04-27 文章 tao siyuan
谢谢, 我能否为第二个意见提交一个issue,为connector增加一个JDBCLookupFunction的异步接口 Benchao Li 于2020年4月27日周一 下午4:11写道: > Hi, > > 第一个意见现在已经有了一个issue[1]和pr,可以参考一下。 > 第二个意见据我所知是有异步维表的接口和实现,但是connector还没有实现。 > > [1] https://issues.apache.org/jira/browse/FLINK-16038 > > tao siyuan 于2020年4月27日周一 下午4:00写道: > > > hi, > > >

Re: Support LRU cache in JDBCLookupFunction

2020-04-27 文章 Benchao Li
Hi, 第一个意见现在已经有了一个issue[1]和pr,可以参考一下。 第二个意见据我所知是有异步维表的接口和实现,但是connector还没有实现。 [1] https://issues.apache.org/jira/browse/FLINK-16038 tao siyuan 于2020年4月27日周一 下午4:00写道: > hi, > > 不好意思,我忽略了内部使用的Guava cache, > > 我这里可以提2个意见吗: > 1,增加统计缓存命中情况 > 2,增加异步交互模式 > > Jark Wu 于2020年4月27日周一 下午3:31写道: > > > Hi,

Re: Support LRU cache in JDBCLookupFunction

2020-04-27 文章 tao siyuan
hi, 不好意思,我忽略了内部使用的Guava cache, 我这里可以提2个意见吗: 1,增加统计缓存命中情况 2,增加异步交互模式 Jark Wu 于2020年4月27日周一 下午3:31写道: > Hi, > > 目前 jdbc lookup 就是用的 LRU cache。 你是希望 cache 大小能动态调整? > > > 2020年4月27日 15:24,tao siyuan 写道: > > > > HI all: > > > > > 目前,一些情况下会遇到到流及外部维表Join。而使用JDBCLookupFunction只支持cache固定大小和条数,但是通常,我们可

Re: [ANNOUNCE] Apache Flink 1.9.3 released

2020-04-27 文章 Zhijiang
Thanks Dian for the release work and thanks everyone involved. Best, Zhijiang -- From:Till Rohrmann Send Time:2020 Apr. 27 (Mon.) 15:13 To:Jingsong Li Cc:dev ; Leonard Xu ; Benchao Li ; Konstantin Knauf ; jincheng sun ; Hequn C

?????? flink ????????????????????????????????????

2020-04-27 文章 ????
?? DatasetFileInputFormat??supportsMultiPaths??Deprecated /** * Override this method to supports multiple paths. * When this method will be removed, all FileInputFormats have to support multiple paths. * * @return True if the FileInputFormat supports

Re: Support LRU cache in JDBCLookupFunction

2020-04-27 文章 Jark Wu
Hi, 目前 jdbc lookup 就是用的 LRU cache。 你是希望 cache 大小能动态调整? > 2020年4月27日 15:24,tao siyuan 写道: > > HI all: > > 目前,一些情况下会遇到到流及外部维表Join。而使用JDBCLookupFunction只支持cache固定大小和条数,但是通常,我们可以使用cache > LRU 策略 提高cache使用率以及reduce数据库的交互次数。 > > 请问这是一个值得提交的issue吗?

Support LRU cache in JDBCLookupFunction

2020-04-27 文章 tao siyuan
HI all: 目前,一些情况下会遇到到流及外部维表Join。而使用JDBCLookupFunction只支持cache固定大小和条数,但是通常,我们可以使用cache LRU 策略 提高cache使用率以及reduce数据库的交互次数。 请问这是一个值得提交的issue吗?

Re: [ANNOUNCE] Apache Flink 1.9.3 released

2020-04-27 文章 Till Rohrmann
Thanks Dian for being our release manager and thanks to everyone who helped making this release possible. Cheers, Till On Mon, Apr 27, 2020 at 3:26 AM Jingsong Li wrote: > Thanks Dian for managing this release! > > Best, > Jingsong Lee > > On Sun, Apr 26, 2020 at 7:17 PM Jark Wu wrote: > >> Th