Re: flink barrier对齐 理解
我感觉应该是这样的: 比如有两个算子 A ---hash---> B A和B分别有2和3个并发。那就是说对于B的某个subtask来讲,需要对齐上游A的2个subtask发过来的barrier,才能做checkpoint。 了不起的盖茨比 <573693...@qq.com> 于2020年5月17日周日 下午1:16写道: > 可以理解成,有多个subtask时候,需要等待不同subtask消费数据完毕,之后做checkpoint > > > > > > -- 原始邮件 -- > 发件人: Benchao Li 发送时间: 2020年5月17日 11:34 > 收件人: user-zh 主题: 回复:flink barrier对齐 理解 > > > > Hi, > > 我对这块不是非常了解,但是我理解的barrier对齐,指的是同一个Task的多个subtask之间对齐吧。 > 比如你只有一个source,然后经过keyby之后做了其他的操作,那也是存在barrier对齐的。 > > 了不起的盖茨比 <573693...@qq.com 于2020年5月17日周日 上午11:29写道: > > 请教一下,如果只有一个source,就不需要对齐了吧?只有source多个数据源时候才需要对齐? > > > > -- > > Benchao Li > School of Electronics Engineering and Computer Science, Peking University > Tel:+86-15650713730 > Email: libenc...@gmail.com; libenc...@pku.edu.cn -- Benchao Li School of Electronics Engineering and Computer Science, Peking University Tel:+86-15650713730 Email: libenc...@gmail.com; libenc...@pku.edu.cn
回复:flink barrier对齐 理解
可以理解成,有多个subtask时候,需要等待不同subtask消费数据完毕,之后做checkpoint -- 原始邮件 -- 发件人: Benchao Li
Re: Flink SQL解析问题
我记得这个好像是个 bug,已经在 calcite 修复了。 你用的是哪个版本的 flink? Best, Jark On Thu, 14 May 2020 at 15:30, Senior.Hu <463302...@qq.com> wrote: > Hi All, > 在用FlinkSqlParserImpl.FACTORY解析Flink DML SQL时,发现解析Join with Temporal > Table语法,会自动加上LATERAL关键字,如下所示 > LEFT JOIN > side_room FOR SYSTEM_TIME AS OF a1.proctime as > a2 > ON > a1.rowkey_room = a2.rowkey > 解析后变成如下: > LEFT JOIN LATERAL `side_room` FOR SYSTEM_TIME AS OF > `a1`.`proctime` AS `a2` ON `a1`.`rowkey_room` = `a2`.`rowkey` > > 此SQL语法在Flink SQL中执行会报错如下: > Caused by: org.apache.flink.table.api.SqlParserException: SQL parse > failed. Encountered "`side_room`" at line 7, column 19. > Was expecting one of: > "TABLE" ... > "(" ... > > 我的SqlParser.Config类定义如下: > private final SqlParser.Config config = SqlParser.configBuilder() > > .setParserFactory(FlinkSqlParserImpl.FACTORY) > .setQuoting(Quoting.BACK_TICK) > > .setUnquotedCasing(Casing.UNCHANGED) > > .setQuotedCasing(Casing.UNCHANGED) > .setCaseSensitive(true) > .build(); > > 不知道这个地方为什么会出现这种情况,或者是我这边使用方法不对?
Re: flink barrier对齐 理解
Hi, 我对这块不是非常了解,但是我理解的barrier对齐,指的是同一个Task的多个subtask之间对齐吧。 比如你只有一个source,然后经过keyby之后做了其他的操作,那也是存在barrier对齐的。 了不起的盖茨比 <573693...@qq.com> 于2020年5月17日周日 上午11:29写道: > 请教一下,如果只有一个source,就不需要对齐了吧?只有source多个数据源时候才需要对齐? -- Benchao Li School of Electronics Engineering and Computer Science, Peking University Tel:+86-15650713730 Email: libenc...@gmail.com; libenc...@pku.edu.cn
flink barrier对齐 理解
请教一下,如果只有一个source,就不需要对齐了吧?只有source多个数据源时候才需要对齐?
Re: flink build-in 的 udf 的源码
Hi tison, 我不是很清楚我是否理解了你的问题,我先尝试解释一下,如果没有解释清楚,你可以再细化一下你的问题。 这个代码生成的过程整体是这样子的: 1. 不管是SQL,还是Table API,在经过前面的各种处理之后,都会转成逻辑执行计划; 2. 逻辑执行计划会经过优化,然后转成物理执行计划 3. 物理执行计划优化后,会翻译到Transformations(也就是DataStream里面的概念) 3.1. 在翻译过程中,就是代码生成参与的地方。我理解这里最主要的生成其实是表达式,这里面就包含了各种内置函数、UDF等 3.2. 如果从SQL的处理流程来讲,这里应该是就这一次代码生成的阶段;但是对于里面的各个函数来讲,他们分别属于不同的表达式,所以每个函数对应的call都会都一遍代码生成。 3.3 然后如果是同一个函数,在多个不同的物理执行算子里面出现,他们是互相不相关的。也就是会被生成多次。 tison 于2020年5月16日周六 下午11:17写道: > Hi Benchao, > > 我想搭车问一下这个代码生成是全局仅一次还是每个 call 都会走一遍流程?或者是其他策略。 > > Best, > tison. > > > Benchao Li 于2020年5月16日周六 下午9:50写道: > > > Hi, > > > > Flink内置函数的实现方式跟udf不太一样,很多函数是直接用的代码生成来做的。 > > > > 下面是以blink planner为例,大概说下流程: > > 1. FlinkSqlOperatorTable 这个类里面放的是内置函数表,这个表会被calcite parse > > SQL的时候用到,直接把这些函数识别为具体的某个函数定义。 > > 2. > > > > > 然后再代码生成阶段,会识别到这些函数,根据不同的函数定义,生成不同的函数实现调用。这部分你可以直接看下`org.apache.flink.table.planner.codegen.calls`这个package下的代码。 > > 3. 上面第2条说的主要是scalar function的生成方式,agg > > > > > function还要特殊一点,这部分可以参考下`org.apache.flink.table.planner.functions.aggfunctions`这个package下的代码。 > > > > > > venn 于2020年5月16日周六 下午3:53写道: > > > > > 各位大佬,请问下,flink 内置的 udf 的源码在什么位置,还有在哪里完成的函数注 > > > 册? 非常感谢各位大佬回复 > > > > > > > > > > > > Thanks a lot ! > > > > > > > > > > > > > > > > -- > > > > Benchao Li > > School of Electronics Engineering and Computer Science, Peking University > > Tel:+86-15650713730 > > Email: libenc...@gmail.com; libenc...@pku.edu.cn > > > -- Benchao Li School of Electronics Engineering and Computer Science, Peking University Tel:+86-15650713730 Email: libenc...@gmail.com; libenc...@pku.edu.cn
Re: flink build-in 的 udf 的源码
Hi Benchao, 我想搭车问一下这个代码生成是全局仅一次还是每个 call 都会走一遍流程?或者是其他策略。 Best, tison. Benchao Li 于2020年5月16日周六 下午9:50写道: > Hi, > > Flink内置函数的实现方式跟udf不太一样,很多函数是直接用的代码生成来做的。 > > 下面是以blink planner为例,大概说下流程: > 1. FlinkSqlOperatorTable 这个类里面放的是内置函数表,这个表会被calcite parse > SQL的时候用到,直接把这些函数识别为具体的某个函数定义。 > 2. > > 然后再代码生成阶段,会识别到这些函数,根据不同的函数定义,生成不同的函数实现调用。这部分你可以直接看下`org.apache.flink.table.planner.codegen.calls`这个package下的代码。 > 3. 上面第2条说的主要是scalar function的生成方式,agg > > function还要特殊一点,这部分可以参考下`org.apache.flink.table.planner.functions.aggfunctions`这个package下的代码。 > > > venn 于2020年5月16日周六 下午3:53写道: > > > 各位大佬,请问下,flink 内置的 udf 的源码在什么位置,还有在哪里完成的函数注 > > 册? 非常感谢各位大佬回复 > > > > > > > > Thanks a lot ! > > > > > > > > > > -- > > Benchao Li > School of Electronics Engineering and Computer Science, Peking University > Tel:+86-15650713730 > Email: libenc...@gmail.com; libenc...@pku.edu.cn >
??????flink ????????join
??datastream | | jimandlice | | ??jimandl...@163.com | Signature is customized by Netease Mail Master ??2020??05??16?? 23:00??1048262223 ?? ??dataset api?? ---- ??: "jimandlice"
??????flink ????????join
??dataset api?? ---- ??: "jimandlice"
回复:flink 历史数据join
使用sql api的方式 | | jimandlice | | 邮箱:jimandl...@163.com | Signature is customized by Netease Mail Master 在2020年05月16日 22:51,jimandlice 写道: 大佬 你好 ! kafka 写入hive 您这边demo么 我这边 只完成了hdfs 应该可以写到hive上去 能提供一个demo么 在 2020-05-15 19:41:59,"zhisheng" 写道: >看看 Flink UI 上 作业 task 的 sent 和 receive >的数据是否还在变更一般可以知道作业是否还在进行,等不动了,则意味着你这两个表固定的数据都已经 join 完了,等 checkpoint 也 >complete 完成了即可以停掉作业。 > >实在不放心,不知道啥时候跑完,可以晚上开始跑,第二天白天再去看看就好了 > >jimandlice 于2020年5月15日周五 下午7:38写道: > >> 是的 我想用datastrem 来做 join停的话 需要注意什么 >> >> >> >> >> | | >> jimandlice >> | >> | >> 邮箱:jimandl...@163.com >> | >> >> Signature is customized by Netease Mail Master >> >> 在2020年05月15日 19:36,zhisheng 写道: >> 所以现在纠结的是使用 DataStream 还是 DataSet ? >> >> 可以使用 DataStream,作业 join 完了停掉作业就行了。 >> >> 小黑 于2020年5月15日周五 下午3:28写道: >> >> > >> > 先工作上有一个需求 2个数据源 一个是mysql 一个是Hbase 2者上 有很多历史数据 这2个数据源上 已经没有数据写入了 都是历史数据 >> > 现在要把这2个数据源的某两张张表 进行join 生成之后的数据 存在放在hdfs上 导入到hive上去现在就是不知道 >> > 是用datatream还是dataset 没有一个很好的 解决方案 望给与回复 >> > >> > >> > >> > >> > >>
Re:Re: flink 历史数据join
大佬 你好 ! kafka 写入hive 您这边demo么 我这边 只完成了hdfs 应该可以写到hive上去 能提供一个demo么 在 2020-05-15 19:41:59,"zhisheng" 写道: >看看 Flink UI 上 作业 task 的 sent 和 receive >的数据是否还在变更一般可以知道作业是否还在进行,等不动了,则意味着你这两个表固定的数据都已经 join 完了,等 checkpoint 也 >complete 完成了即可以停掉作业。 > >实在不放心,不知道啥时候跑完,可以晚上开始跑,第二天白天再去看看就好了 > >jimandlice 于2020年5月15日周五 下午7:38写道: > >> 是的 我想用datastrem 来做 join停的话 需要注意什么 >> >> >> >> >> | | >> jimandlice >> | >> | >> 邮箱:jimandl...@163.com >> | >> >> Signature is customized by Netease Mail Master >> >> 在2020年05月15日 19:36,zhisheng 写道: >> 所以现在纠结的是使用 DataStream 还是 DataSet ? >> >> 可以使用 DataStream,作业 join 完了停掉作业就行了。 >> >> 小黑 于2020年5月15日周五 下午3:28写道: >> >> > >> > 先工作上有一个需求 2个数据源 一个是mysql 一个是Hbase 2者上 有很多历史数据 这2个数据源上 已经没有数据写入了 都是历史数据 >> > 现在要把这2个数据源的某两张张表 进行join 生成之后的数据 存在放在hdfs上 导入到hive上去现在就是不知道 >> > 是用datatream还是dataset 没有一个很好的 解决方案 望给与回复 >> > >> > >> > >> > >> > >>
Re: flink build-in 的 udf 的源码
Hi, Flink内置函数的实现方式跟udf不太一样,很多函数是直接用的代码生成来做的。 下面是以blink planner为例,大概说下流程: 1. FlinkSqlOperatorTable 这个类里面放的是内置函数表,这个表会被calcite parse SQL的时候用到,直接把这些函数识别为具体的某个函数定义。 2. 然后再代码生成阶段,会识别到这些函数,根据不同的函数定义,生成不同的函数实现调用。这部分你可以直接看下`org.apache.flink.table.planner.codegen.calls`这个package下的代码。 3. 上面第2条说的主要是scalar function的生成方式,agg function还要特殊一点,这部分可以参考下`org.apache.flink.table.planner.functions.aggfunctions`这个package下的代码。 venn 于2020年5月16日周六 下午3:53写道: > 各位大佬,请问下,flink 内置的 udf 的源码在什么位置,还有在哪里完成的函数注 > 册? 非常感谢各位大佬回复 > > > > Thanks a lot ! > > > > -- Benchao Li School of Electronics Engineering and Computer Science, Peking University Tel:+86-15650713730 Email: libenc...@gmail.com; libenc...@pku.edu.cn
回复: 回复:flink1.10 ddl metric 不显示
谢谢老哥 终于明白了 -- 原始邮件 -- 发件人: venn
回复: 回复:flink1.10 ddl metric 不显示
Subtask 显示的metrics 是整个 算子链的输入、输出的,算子全部 chain 在一起后,对应的输入、输出就是外部系统了,所有看不到。可以去metrics 页面查看具体算子的metrics 指标 -邮件原件- 发件人: user-zh-return-3563-wxchunjhyy=163@flink.apache.org 代表 了不起的盖茨比 发送时间: 2020年5月16日 11:08 收件人: user-zh 主题: 回复:flink1.10 ddl metric 不显示 为什么chain一起就无法看到了???求大佬解释一下。 -- 原始邮件 -- 发件人: zhisheng
flink build-in 的 udf 的源码
各位大佬,请问下,flink 内置的 udf 的源码在什么位置,还有在哪里完成的函数注 册? 非常感谢各位大佬回复 Thanks a lot !