还是看不懂这个结果, 请问哪个文档有讲这种结果的是怎么回事吗? 例如: +1705471-09-26T16:50
4> (true,1,+1705471-09-26T16:50,+1705471-09-26T16:55,+1705471-09-26T16:54:59.999,8) 1> (true,3,+1705471-09-26T16:50,+1705471-09-26T16:55,+1705471-09-26T16:54:59.999,4) 8> (true,1,+1705471-09-26T16:50,+1705471-09-26T16:55,+1705471-09-26T16:54:59.999,6) 谢谢您~ 在 2020-12-10 17:56:42,"Appleyuchi" <appleyu...@163.com> 写道: >好的,我再检查下。。。。 > >在 2020-12-10 17:44:38,"Appleyuchi" <appleyu...@163.com> 写道: >>您好! >> >> >>问题① >> >>请问这个输出结果前面的"+"是什么意思? >> >>8> >>(true,1,+1705471-09-26T16:50,+1705471-09-26T16:55,+1705471-09-26T16:54:59.999,6) >> >>1> >>(true,3,+1705471-09-26T16:50,+1705471-09-26T16:55,+1705471-09-26T16:54:59.999,4) >> >>4> >>(true,1,+1705471-09-26T16:50,+1705471-09-26T16:55,+1705471-09-26T16:54:59.999,8) >> >>谢谢 >> >> >>------------- >>在 2020-12-10 17:13:20,"Leonard Xu" <xbjt...@gmail.com> 写道: >>> >>>> ①请问输出结果里面的"+"是什么意思,不应该是2017吗? >>>时间戳格式而已,可以检查下你的时间数据 >>> >>>> 最后的999是啥意思??? >>>代表窗口结束时间,即timestamp(3)精度下小于window边界的时间 >>> >>>> >>>> >>>> ②代码中有两处时间限定 >>>> .window(Tumble.over(lit(5).minutes()) >>>> $("user"), >>>> $("w").start(),//输出很奇怪 >>>> $("w").end(), >>>> $("w").rowtime(), >>>> 请问这两处时间限定有什么区别吗? >>>> 是不是 >>>> 前者是"全局范围限定"? >>>> 后者是在前者限定的基础上做进一步限定? >>>> 如果是的话,end里面是否可以设定时间戳? >>>> --------------------- >>>没看出你说的两处时间限定,你是不是理解偏了,你可以先看下关于窗口和时间的文档[1]。 >>> >>>祝好, >>>Leonard >>>[1] >>>https://ci.apache.org/projects/flink/flink-docs-master/zh/dev/stream/operators/windows.html#tumbling-windows >>> >>><https://ci.apache.org/projects/flink/flink-docs-master/zh/dev/stream/operators/windows.html#tumbling-windows> >>>[2] >>>https://ci.apache.org/projects/flink/flink-docs-master/zh/dev/event_time.html >>> >>><https://ci.apache.org/projects/flink/flink-docs-master/zh/dev/event_time.html> >>> >>> >>> >>> >>> >>> >>> >>> >>>> ------------------------------------------------- >>>> 昨天的完整代码是: >>>> https://paste.ubuntu.com/p/9JsFDKC5V8/ >>>> >>>> >>>> 谢谢谢谢~!!! >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> 在 2020-12-10 12:02:31,"Leonard Xu" <xbjt...@gmail.com> 写道: >>>>> Hi, >>>>> 补充下昨天线下提供的答疑,在从datastream 转换到Table时,如果希望转换后的Table上能够继续使用watermark, >>>>> 需要(1)让datastream中包含watermark (2)在table上声明event time 属性. 文档可以参考[1] >>>>> >>>>> 给出文档中省略的watermark生成部分code: >>>>> >>>>> // 老版本 >>>>> // Table orders = >>>>> tEnv.fromDataStream(orderA.assignTimestampsAndWatermarks(new >>>>> AscendingTimestampExtractor<Order>() { >>>>> // @Override >>>>> // public long extractAscendingTimestamp(Order element) { >>>>> // return element.rowtime; >>>>> // } >>>>> // }), $("user"), $("product"), >>>>> $("amount"),$("rowtime").rowtime()); >>>>> // 新版本 >>>>> Table orders = >>>>> tEnv.fromDataStream(orderA.assignTimestampsAndWatermarks(WatermarkStrategy.forGenerator((ctx) >>>>> -> new WatermarkGenerator<Order>() { >>>>> @Override >>>>> public void onEvent(Order order, long eventTimestamp, >>>>> WatermarkOutput watermarkOutput) { >>>>> watermarkOutput.emitWatermark(new >>>>> Watermark(eventTimestamp)); >>>>> } >>>>> @Override >>>>> public void onPeriodicEmit(WatermarkOutput watermarkOutput) >>>>> { >>>>> } >>>>> })) >>>>> , $("user"), $("product"), $("amount"),$("rowtime").rowtime()); >>>>> 如果代码不多,可以直接贴在邮件中哈。 >>>>> >>>>> >>>>> 祝好, >>>>> Leonard >>>>> [1] >>>>> https://ci.apache.org/projects/flink/flink-docs-release-1.12/zh/dev/table/streaming/time_attributes.html#%E5%9C%A8-datastream-%E5%88%B0-table-%E8%BD%AC%E6%8D%A2%E6%97%B6%E5%AE%9A%E4%B9%89-1 >>>>> >>>>>> 在 2020年12月10日,11:10,Jark Wu <imj...@gmail.com> 写道: >>>>>> >>>>>> 链接错了。重发下。 >>>>>> >>>>>> 1) 所谓时间属性,不是指 timestamp 类型的字段,而是一个特殊概念。可以看下文档如果声明时间属性: >>>>>> https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/table/streaming/time_attributes.html >>>>>> <https://ci.apache.org/projects/flink/flink-docs-release-1).12/dev/table/streaming/time_attributes.html> >>>>>> 2) 你的代码好像也不对。 L45: Table orders = tEnv.from("Orders"); 没看到你有注册过 "Orders" >>>>>> 表。这一行应该执行不成功把。 >>>>>> >>>>>> Best, >>>>>> Jark >>>>>> >>>>>> On Thu, 10 Dec 2020 at 11:09, Jark Wu <imj...@gmail.com> wrote: >>>>>> >>>>>>> 1). 所谓时间属性,不是指 timestamp 类型的字段,而是一个特殊概念。可以看下文档如果声明时间属性: >>>>>>> https://ci.apache.org/projects/flink/flink-docs-release-1).12/dev/table/streaming/time_attributes.html >>>>>>> 2. 你的代码好像也不对。 L45: Table orders = tEnv.from("Orders"); 没看到你有注册过 "Orders" >>>>>>> 表。这一行应该执行不成功把。 >>>>>>> >>>>>>> Best, >>>>>>> Jark >>>>>>> >>>>>>> On Wed, 9 Dec 2020 at 15:44, Appleyuchi <appleyu...@163.com> wrote: >>>>>>> >>>>>>>> 代码是: >>>>>>>> https://paste.ubuntu.com/p/gVGrj2V7ZF/ >>>>>>>> 报错: >>>>>>>> A group window expects a time attribute for grouping in a stream >>>>>>>> environment. >>>>>>>> 但是代码的数据源中已经有时间属性了. >>>>>>>> 请问应该怎么修改代码? >>>>>>>> 谢谢 >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>> >>>