You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by "casel.chen" <ca...@126.com> on 2022/11/26 03:20:34 UTC

如何扩展flink sql以实现延迟调用?

双流关联场景下,流A数据到达后并不马上和流B进行关联,而是经过设置一段时间后再关联,这种场景下如何用flink sql实现?如果当前不支持,需要怎样扩展flink sql呢?

Re:Re: 如何扩展flink sql以实现延迟调用?

Posted by "casel.chen" <ca...@126.com>.
谢谢你给的建议,不过我们还没有升级到flink 1.16,目前在使用的是flink 1.15。
如果要使用flink sql来实现的话,是不是可以利用窗口去重来达到数据延迟关联的效果?
在每条数据到达后开一个10分钟累加窗口(step和size均为10分钟)根据key去重,在等待窗口结束之时输出的去重结果再跟维表进行lookup join

















在 2022-12-07 13:33:50,"Lincoln Lee" <li...@gmail.com> 写道:
>双流 join 的场景下可以考虑关联条件引入时间属性,变成 interval join 可以实现一定的时间对齐(
>https://nightlies.apache.org/flink/flink-docs-release-1.16/docs/dev/table/sql/queries/joins/#interval-joins
>)
>另外如果可以使用 lookup join 单边驱动关联并且不是所有数据都需要等待的话,可以尝试 lookup join 的延迟重试
>https://nightlies.apache.org/flink/flink-docs-release-1.16/docs/dev/table/sql/queries/hints/#3-enable-delayed-retry-strategy-for-lookup
>
>Best,
>Lincoln Lee
>
>
>casel.chen <ca...@126.com> 于2022年12月7日周三 11:52写道:
>
>> 有人能够解答一下吗?
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> 在 2022-11-26 11:20:34,"casel.chen" <ca...@126.com> 写道:
>> >双流关联场景下,流A数据到达后并不马上和流B进行关联,而是经过设置一段时间后再关联,这种场景下如何用flink
>> sql实现?如果当前不支持,需要怎样扩展flink sql呢?
>>

Re:Re: 如何扩展flink sql以实现延迟调用?

Posted by "casel.chen" <ca...@126.com>.
interval join的缺点是只能输出关联上的结果,却无法输出未能关联上的结果(后续我需要对未关联上的结果进行特殊处理)

















在 2022-12-07 13:33:50,"Lincoln Lee" <li...@gmail.com> 写道:
>双流 join 的场景下可以考虑关联条件引入时间属性,变成 interval join 可以实现一定的时间对齐(
>https://nightlies.apache.org/flink/flink-docs-release-1.16/docs/dev/table/sql/queries/joins/#interval-joins
>)
>另外如果可以使用 lookup join 单边驱动关联并且不是所有数据都需要等待的话,可以尝试 lookup join 的延迟重试
>https://nightlies.apache.org/flink/flink-docs-release-1.16/docs/dev/table/sql/queries/hints/#3-enable-delayed-retry-strategy-for-lookup
>
>Best,
>Lincoln Lee
>
>
>casel.chen <ca...@126.com> 于2022年12月7日周三 11:52写道:
>
>> 有人能够解答一下吗?
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> 在 2022-11-26 11:20:34,"casel.chen" <ca...@126.com> 写道:
>> >双流关联场景下,流A数据到达后并不马上和流B进行关联,而是经过设置一段时间后再关联,这种场景下如何用flink
>> sql实现?如果当前不支持,需要怎样扩展flink sql呢?
>>

Re: 如何扩展flink sql以实现延迟调用?

Posted by Lincoln Lee <li...@gmail.com>.
双流 join 的场景下可以考虑关联条件引入时间属性,变成 interval join 可以实现一定的时间对齐(
https://nightlies.apache.org/flink/flink-docs-release-1.16/docs/dev/table/sql/queries/joins/#interval-joins
)
另外如果可以使用 lookup join 单边驱动关联并且不是所有数据都需要等待的话,可以尝试 lookup join 的延迟重试
https://nightlies.apache.org/flink/flink-docs-release-1.16/docs/dev/table/sql/queries/hints/#3-enable-delayed-retry-strategy-for-lookup

Best,
Lincoln Lee


casel.chen <ca...@126.com> 于2022年12月7日周三 11:52写道:

> 有人能够解答一下吗?
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> 在 2022-11-26 11:20:34,"casel.chen" <ca...@126.com> 写道:
> >双流关联场景下,流A数据到达后并不马上和流B进行关联,而是经过设置一段时间后再关联,这种场景下如何用flink
> sql实现?如果当前不支持,需要怎样扩展flink sql呢?
>

Re:如何扩展flink sql以实现延迟调用?

Posted by "casel.chen" <ca...@126.com>.
有人能够解答一下吗?

















在 2022-11-26 11:20:34,"casel.chen" <ca...@126.com> 写道:
>双流关联场景下,流A数据到达后并不马上和流B进行关联,而是经过设置一段时间后再关联,这种场景下如何用flink sql实现?如果当前不支持,需要怎样扩展flink sql呢?