flink sql join 可以有 state 存储并从 state 恢复数据吗?

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

flink sql join 可以有 state 存储并从 state 恢复数据吗?

wanglei2@geekplus.com.cn
有两个表:
tableA: key  valueA
tableB: key  valueB

我之前用 flink state 的方式存储 tableA,tableB 的消息过来以后去 query 这个 state 得到 valueA
直接 写 flinkSQL 也可以实现这种功能,但这两个表有时间差,任务停止后重新提交会丢失部分 join 的结果。
flinkSQL 有没有类似 flink cancel -s 保存 state 的功能呢?

谢谢,
王磊
Reply | Threaded
Open this post in threaded view
|

Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?

Kurt Young
理论上来说,flink SQL的作业在编译完生成JobGraph并提交到集群上后,和Datastream的作业就没有什么本质的不同了。
应该也可以支持flink cancel -s 的功能,你可以先试下,如果碰到什么问题再看看。

Best,
Kurt


On Wed, Mar 11, 2020 at 10:24 AM [hidden email] <
[hidden email]> wrote:

> 有两个表:
> tableA: key  valueA
> tableB: key  valueB
>
> 我之前用 flink state 的方式存储 tableA,tableB 的消息过来以后去 query 这个 state 得到 valueA
> 直接 写 flinkSQL 也可以实现这种功能,但这两个表有时间差,任务停止后重新提交会丢失部分 join 的结果。
> flinkSQL 有没有类似 flink cancel -s 保存 state 的功能呢?
>
> 谢谢,
> 王磊
>
Reply | Threaded
Open this post in threaded view
|

Re: Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?

wanglei2@geekplus.com.cn
Hi Kurt,
确实是可以 直接 flink  cancel -s 保存状态。
但我是用 flink-sql-client 直接写 sql 提交的 job,再提交的时候怎样可以指定状态目录让这个任务从状态恢复呢?

谢谢,
王磊
 
Sender: Kurt Young
Send Time: 2020-03-11 10:38
Receiver: user-zh
Subject: Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?
理论上来说,flink SQL的作业在编译完生成JobGraph并提交到集群上后,和Datastream的作业就没有什么本质的不同了。
应该也可以支持flink cancel -s 的功能,你可以先试下,如果碰到什么问题再看看。
 
Best,
Kurt
 
 
On Wed, Mar 11, 2020 at 10:24 AM [hidden email] <
[hidden email]> wrote:
 

> 有两个表:
> tableA: key  valueA
> tableB: key  valueB
>
> 我之前用 flink state 的方式存储 tableA,tableB 的消息过来以后去 query 这个 state 得到 valueA
> 直接 写 flinkSQL 也可以实现这种功能,但这两个表有时间差,任务停止后重新提交会丢失部分 join 的结果。
> flinkSQL 有没有类似 flink cancel -s 保存 state 的功能呢?
>
> 谢谢,
> 王磊
>
Reply | Threaded
Open this post in threaded view
|

Re: Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?

Kurt Young
sql client 目前还不支持这个功能。

Best,
Kurt


On Wed, Mar 11, 2020 at 11:35 AM [hidden email] <
[hidden email]> wrote:

> Hi Kurt,
> 确实是可以 直接 flink  cancel -s 保存状态。
> 但我是用 flink-sql-client 直接写 sql 提交的 job,再提交的时候怎样可以指定状态目录让这个任务从状态恢复呢?
>
> 谢谢,
> 王磊
>
>
> *Sender:* Kurt Young <[hidden email]>
> *Send Time:* 2020-03-11 10:38
> *Receiver:* user-zh <[hidden email]>
> *Subject:* Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?
> 理论上来说,flink SQL的作业在编译完生成JobGraph并提交到集群上后,和Datastream的作业就没有什么本质的不同了。
> 应该也可以支持flink cancel -s 的功能,你可以先试下,如果碰到什么问题再看看。
>
> Best,
> Kurt
>
>
> On Wed, Mar 11, 2020 at 10:24 AM [hidden email] <
> [hidden email]> wrote:
>
> > 有两个表:
> > tableA: key  valueA
> > tableB: key  valueB
> >
> > 我之前用 flink state 的方式存储 tableA,tableB 的消息过来以后去 query 这个 state 得到 valueA
> > 直接 写 flinkSQL 也可以实现这种功能,但这两个表有时间差,任务停止后重新提交会丢失部分 join 的结果。
> > flinkSQL 有没有类似 flink cancel -s 保存 state 的功能呢?
> >
> > 谢谢,
> > 王磊
> >
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?

Kurt Young
我在社区建了个issue:https://issues.apache.org/jira/browse/FLINK-16534
后续你可以关注下

Best,
Kurt


On Wed, Mar 11, 2020 at 12:54 PM Kurt Young <[hidden email]> wrote:

> sql client 目前还不支持这个功能。
>
> Best,
> Kurt
>
>
> On Wed, Mar 11, 2020 at 11:35 AM [hidden email] <
> [hidden email]> wrote:
>
>> Hi Kurt,
>> 确实是可以 直接 flink  cancel -s 保存状态。
>> 但我是用 flink-sql-client 直接写 sql 提交的 job,再提交的时候怎样可以指定状态目录让这个任务从状态恢复呢?
>>
>> 谢谢,
>> 王磊
>>
>>
>> *Sender:* Kurt Young <[hidden email]>
>> *Send Time:* 2020-03-11 10:38
>> *Receiver:* user-zh <[hidden email]>
>> *Subject:* Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?
>> 理论上来说,flink SQL的作业在编译完生成JobGraph并提交到集群上后,和Datastream的作业就没有什么本质的不同了。
>> 应该也可以支持flink cancel -s 的功能,你可以先试下,如果碰到什么问题再看看。
>>
>> Best,
>> Kurt
>>
>>
>> On Wed, Mar 11, 2020 at 10:24 AM [hidden email] <
>> [hidden email]> wrote:
>>
>> > 有两个表:
>> > tableA: key  valueA
>> > tableB: key  valueB
>> >
>> > 我之前用 flink state 的方式存储 tableA,tableB 的消息过来以后去 query 这个 state 得到 valueA
>> > 直接 写 flinkSQL 也可以实现这种功能,但这两个表有时间差,任务停止后重新提交会丢失部分 join 的结果。
>> > flinkSQL 有没有类似 flink cancel -s 保存 state 的功能呢?
>> >
>> > 谢谢,
>> > 王磊
>> >
>>
>>
Reply | Threaded
Open this post in threaded view
|

Re: Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?

wanglei2@geekplus.com.cn
In reply to this post by Kurt Young
Hi Kurt,

如果我不用 sql-client, 直接把表注册、sql join 之类的操作写在 java 代码里打成 jar 包就能实现从 state 中恢复的功能吗?
代码里没有任何跟 state 声明、TTL 定义之类的操作。任务 cancel -s 之前已经存在的表信息会在 state 存储并且再次提交任务可以被访问到直接用吗?

谢谢,
王磊



[hidden email]
 
Sender: Kurt Young
Send Time: 2020-03-11 12:54
Receiver: [hidden email]
cc: user-zh
Subject: Re: Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?
sql client 目前还不支持这个功能。

Best,
Kurt


On Wed, Mar 11, 2020 at 11:35 AM [hidden email] <[hidden email]> wrote:
Hi Kurt,
确实是可以 直接 flink  cancel -s 保存状态。
但我是用 flink-sql-client 直接写 sql 提交的 job,再提交的时候怎样可以指定状态目录让这个任务从状态恢复呢?

谢谢,
王磊
 
Sender: Kurt Young
Send Time: 2020-03-11 10:38
Receiver: user-zh
Subject: Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?
理论上来说,flink SQL的作业在编译完生成JobGraph并提交到集群上后,和Datastream的作业就没有什么本质的不同了。
应该也可以支持flink cancel -s 的功能,你可以先试下,如果碰到什么问题再看看。
 
Best,
Kurt
 
 
On Wed, Mar 11, 2020 at 10:24 AM [hidden email] <
[hidden email]> wrote:
 

> 有两个表:
> tableA: key  valueA
> tableB: key  valueB
>
> 我之前用 flink state 的方式存储 tableA,tableB 的消息过来以后去 query 这个 state 得到 valueA
> 直接 写 flinkSQL 也可以实现这种功能,但这两个表有时间差,任务停止后重新提交会丢失部分 join 的结果。
> flinkSQL 有没有类似 flink cancel -s 保存 state 的功能呢?
>
> 谢谢,
> 王磊
>
Reply | Threaded
Open this post in threaded view
|

Re: Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?

Kurt Young
那有可能是可以的,你可以试试看

Best,
Kurt


On Wed, Mar 11, 2020 at 6:57 PM [hidden email] <
[hidden email]> wrote:

> Hi Kurt,
>
> 如果我不用 sql-client, 直接把表注册、sql join 之类的操作写在 java 代码里打成 jar 包就能实现从 state
> 中恢复的功能吗?
> 代码里没有任何跟 state 声明、TTL 定义之类的操作。任务 cancel -s 之前已经存在的表信息会在 state
> 存储并且再次提交任务可以被访问到直接用吗?
>
> 谢谢,
> 王磊
>
> ------------------------------
> [hidden email]
>
>
> *Sender:* Kurt Young <[hidden email]>
> *Send Time:* 2020-03-11 12:54
> *Receiver:* [hidden email]
> *cc:* user-zh <[hidden email]>
> *Subject:* Re: Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?
> sql client 目前还不支持这个功能。
>
> Best,
> Kurt
>
>
> On Wed, Mar 11, 2020 at 11:35 AM [hidden email] <
> [hidden email]> wrote:
>
>> Hi Kurt,
>> 确实是可以 直接 flink  cancel -s 保存状态。
>> 但我是用 flink-sql-client 直接写 sql 提交的 job,再提交的时候怎样可以指定状态目录让这个任务从状态恢复呢?
>>
>> 谢谢,
>> 王磊
>>
>>
>> *Sender:* Kurt Young <[hidden email]>
>> *Send Time:* 2020-03-11 10:38
>> *Receiver:* user-zh <[hidden email]>
>> *Subject:* Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?
>> 理论上来说,flink SQL的作业在编译完生成JobGraph并提交到集群上后,和Datastream的作业就没有什么本质的不同了。
>> 应该也可以支持flink cancel -s 的功能,你可以先试下,如果碰到什么问题再看看。
>>
>> Best,
>> Kurt
>>
>>
>> On Wed, Mar 11, 2020 at 10:24 AM [hidden email] <
>> [hidden email]> wrote:
>>
>> > 有两个表:
>> > tableA: key  valueA
>> > tableB: key  valueB
>> >
>> > 我之前用 flink state 的方式存储 tableA,tableB 的消息过来以后去 query 这个 state 得到 valueA
>> > 直接 写 flinkSQL 也可以实现这种功能,但这两个表有时间差,任务停止后重新提交会丢失部分 join 的结果。
>> > flinkSQL 有没有类似 flink cancel -s 保存 state 的功能呢?
>> >
>> > 谢谢,
>> > 王磊
>> >
>>
>>
Reply | Threaded
Open this post in threaded view
|

Re: Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?

zhisheng
hi, Kurt Young

除了使用 sql-client 可以使用纯 SQL 来执行,有没有其他的办法来执行?因为通常不让本地直接连到生产的环境,也不会直接在生产的机器执行
sql-client

Kurt Young <[hidden email]> 于2020年3月11日周三 下午7:59写道:

> 那有可能是可以的,你可以试试看
>
> Best,
> Kurt
>
>
> On Wed, Mar 11, 2020 at 6:57 PM [hidden email] <
> [hidden email]> wrote:
>
> > Hi Kurt,
> >
> > 如果我不用 sql-client, 直接把表注册、sql join 之类的操作写在 java 代码里打成 jar 包就能实现从 state
> > 中恢复的功能吗?
> > 代码里没有任何跟 state 声明、TTL 定义之类的操作。任务 cancel -s 之前已经存在的表信息会在 state
> > 存储并且再次提交任务可以被访问到直接用吗?
> >
> > 谢谢,
> > 王磊
> >
> > ------------------------------
> > [hidden email]
> >
> >
> > *Sender:* Kurt Young <[hidden email]>
> > *Send Time:* 2020-03-11 12:54
> > *Receiver:* [hidden email]
> > *cc:* user-zh <[hidden email]>
> > *Subject:* Re: Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?
> > sql client 目前还不支持这个功能。
> >
> > Best,
> > Kurt
> >
> >
> > On Wed, Mar 11, 2020 at 11:35 AM [hidden email] <
> > [hidden email]> wrote:
> >
> >> Hi Kurt,
> >> 确实是可以 直接 flink  cancel -s 保存状态。
> >> 但我是用 flink-sql-client 直接写 sql 提交的 job,再提交的时候怎样可以指定状态目录让这个任务从状态恢复呢?
> >>
> >> 谢谢,
> >> 王磊
> >>
> >>
> >> *Sender:* Kurt Young <[hidden email]>
> >> *Send Time:* 2020-03-11 10:38
> >> *Receiver:* user-zh <[hidden email]>
> >> *Subject:* Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?
> >> 理论上来说,flink SQL的作业在编译完生成JobGraph并提交到集群上后,和Datastream的作业就没有什么本质的不同了。
> >> 应该也可以支持flink cancel -s 的功能,你可以先试下,如果碰到什么问题再看看。
> >>
> >> Best,
> >> Kurt
> >>
> >>
> >> On Wed, Mar 11, 2020 at 10:24 AM [hidden email] <
> >> [hidden email]> wrote:
> >>
> >> > 有两个表:
> >> > tableA: key  valueA
> >> > tableB: key  valueB
> >> >
> >> > 我之前用 flink state 的方式存储 tableA,tableB 的消息过来以后去 query 这个 state 得到 valueA
> >> > 直接 写 flinkSQL 也可以实现这种功能,但这两个表有时间差,任务停止后重新提交会丢失部分 join 的结果。
> >> > flinkSQL 有没有类似 flink cancel -s 保存 state 的功能呢?
> >> >
> >> > 谢谢,
> >> > 王磊
> >> >
> >>
> >>
>
Reply | Threaded
Open this post in threaded view
|

Re: Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?

Kurt Young
https://github.com/ververica/flink-sql-gateway  了解一下

Best,
Kurt


On Wed, Mar 11, 2020 at 9:26 PM zhisheng <[hidden email]> wrote:

> hi, Kurt Young
>
> 除了使用 sql-client 可以使用纯 SQL 来执行,有没有其他的办法来执行?因为通常不让本地直接连到生产的环境,也不会直接在生产的机器执行
> sql-client
>
> Kurt Young <[hidden email]> 于2020年3月11日周三 下午7:59写道:
>
> > 那有可能是可以的,你可以试试看
> >
> > Best,
> > Kurt
> >
> >
> > On Wed, Mar 11, 2020 at 6:57 PM [hidden email] <
> > [hidden email]> wrote:
> >
> > > Hi Kurt,
> > >
> > > 如果我不用 sql-client, 直接把表注册、sql join 之类的操作写在 java 代码里打成 jar 包就能实现从 state
> > > 中恢复的功能吗?
> > > 代码里没有任何跟 state 声明、TTL 定义之类的操作。任务 cancel -s 之前已经存在的表信息会在 state
> > > 存储并且再次提交任务可以被访问到直接用吗?
> > >
> > > 谢谢,
> > > 王磊
> > >
> > > ------------------------------
> > > [hidden email]
> > >
> > >
> > > *Sender:* Kurt Young <[hidden email]>
> > > *Send Time:* 2020-03-11 12:54
> > > *Receiver:* [hidden email]
> > > *cc:* user-zh <[hidden email]>
> > > *Subject:* Re: Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?
> > > sql client 目前还不支持这个功能。
> > >
> > > Best,
> > > Kurt
> > >
> > >
> > > On Wed, Mar 11, 2020 at 11:35 AM [hidden email] <
> > > [hidden email]> wrote:
> > >
> > >> Hi Kurt,
> > >> 确实是可以 直接 flink  cancel -s 保存状态。
> > >> 但我是用 flink-sql-client 直接写 sql 提交的 job,再提交的时候怎样可以指定状态目录让这个任务从状态恢复呢?
> > >>
> > >> 谢谢,
> > >> 王磊
> > >>
> > >>
> > >> *Sender:* Kurt Young <[hidden email]>
> > >> *Send Time:* 2020-03-11 10:38
> > >> *Receiver:* user-zh <[hidden email]>
> > >> *Subject:* Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?
> > >> 理论上来说,flink SQL的作业在编译完生成JobGraph并提交到集群上后,和Datastream的作业就没有什么本质的不同了。
> > >> 应该也可以支持flink cancel -s 的功能,你可以先试下,如果碰到什么问题再看看。
> > >>
> > >> Best,
> > >> Kurt
> > >>
> > >>
> > >> On Wed, Mar 11, 2020 at 10:24 AM [hidden email] <
> > >> [hidden email]> wrote:
> > >>
> > >> > 有两个表:
> > >> > tableA: key  valueA
> > >> > tableB: key  valueB
> > >> >
> > >> > 我之前用 flink state 的方式存储 tableA,tableB 的消息过来以后去 query 这个 state 得到
> valueA
> > >> > 直接 写 flinkSQL 也可以实现这种功能,但这两个表有时间差,任务停止后重新提交会丢失部分 join 的结果。
> > >> > flinkSQL 有没有类似 flink cancel -s 保存 state 的功能呢?
> > >> >
> > >> > 谢谢,
> > >> > 王磊
> > >> >
> > >>
> > >>
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?

zhisheng
好的,我先去 look look,感谢

Kurt Young <[hidden email]> 于2020年3月11日周三 下午9:30写道:

> https://github.com/ververica/flink-sql-gateway  了解一下
>
> Best,
> Kurt
>
>
> On Wed, Mar 11, 2020 at 9:26 PM zhisheng <[hidden email]> wrote:
>
> > hi, Kurt Young
> >
> > 除了使用 sql-client 可以使用纯 SQL 来执行,有没有其他的办法来执行?因为通常不让本地直接连到生产的环境,也不会直接在生产的机器执行
> > sql-client
> >
> > Kurt Young <[hidden email]> 于2020年3月11日周三 下午7:59写道:
> >
> > > 那有可能是可以的,你可以试试看
> > >
> > > Best,
> > > Kurt
> > >
> > >
> > > On Wed, Mar 11, 2020 at 6:57 PM [hidden email] <
> > > [hidden email]> wrote:
> > >
> > > > Hi Kurt,
> > > >
> > > > 如果我不用 sql-client, 直接把表注册、sql join 之类的操作写在 java 代码里打成 jar 包就能实现从 state
> > > > 中恢复的功能吗?
> > > > 代码里没有任何跟 state 声明、TTL 定义之类的操作。任务 cancel -s 之前已经存在的表信息会在 state
> > > > 存储并且再次提交任务可以被访问到直接用吗?
> > > >
> > > > 谢谢,
> > > > 王磊
> > > >
> > > > ------------------------------
> > > > [hidden email]
> > > >
> > > >
> > > > *Sender:* Kurt Young <[hidden email]>
> > > > *Send Time:* 2020-03-11 12:54
> > > > *Receiver:* [hidden email]
> > > > *cc:* user-zh <[hidden email]>
> > > > *Subject:* Re: Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?
> > > > sql client 目前还不支持这个功能。
> > > >
> > > > Best,
> > > > Kurt
> > > >
> > > >
> > > > On Wed, Mar 11, 2020 at 11:35 AM [hidden email] <
> > > > [hidden email]> wrote:
> > > >
> > > >> Hi Kurt,
> > > >> 确实是可以 直接 flink  cancel -s 保存状态。
> > > >> 但我是用 flink-sql-client 直接写 sql 提交的 job,再提交的时候怎样可以指定状态目录让这个任务从状态恢复呢?
> > > >>
> > > >> 谢谢,
> > > >> 王磊
> > > >>
> > > >>
> > > >> *Sender:* Kurt Young <[hidden email]>
> > > >> *Send Time:* 2020-03-11 10:38
> > > >> *Receiver:* user-zh <[hidden email]>
> > > >> *Subject:* Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?
> > > >> 理论上来说,flink SQL的作业在编译完生成JobGraph并提交到集群上后,和Datastream的作业就没有什么本质的不同了。
> > > >> 应该也可以支持flink cancel -s 的功能,你可以先试下,如果碰到什么问题再看看。
> > > >>
> > > >> Best,
> > > >> Kurt
> > > >>
> > > >>
> > > >> On Wed, Mar 11, 2020 at 10:24 AM [hidden email] <
> > > >> [hidden email]> wrote:
> > > >>
> > > >> > 有两个表:
> > > >> > tableA: key  valueA
> > > >> > tableB: key  valueB
> > > >> >
> > > >> > 我之前用 flink state 的方式存储 tableA,tableB 的消息过来以后去 query 这个 state 得到
> > valueA
> > > >> > 直接 写 flinkSQL 也可以实现这种功能,但这两个表有时间差,任务停止后重新提交会丢失部分 join 的结果。
> > > >> > flinkSQL 有没有类似 flink cancel -s 保存 state 的功能呢?
> > > >> >
> > > >> > 谢谢,
> > > >> > 王磊
> > > >> >
> > > >>
> > > >>
> > >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?

zhisheng
http://zhisheng-blog.oss-cn-hangzhou.aliyuncs.com/2020-03-11-133919.png

我看现在还不支持 per job 模式,哎

zhisheng <[hidden email]> 于2020年3月11日周三 下午9:31写道:

> 好的,我先去 look look,感谢
>
> Kurt Young <[hidden email]> 于2020年3月11日周三 下午9:30写道:
>
>> https://github.com/ververica/flink-sql-gateway  了解一下
>>
>> Best,
>> Kurt
>>
>>
>> On Wed, Mar 11, 2020 at 9:26 PM zhisheng <[hidden email]> wrote:
>>
>> > hi, Kurt Young
>> >
>> > 除了使用 sql-client 可以使用纯 SQL
>> 来执行,有没有其他的办法来执行?因为通常不让本地直接连到生产的环境,也不会直接在生产的机器执行
>> > sql-client
>> >
>> > Kurt Young <[hidden email]> 于2020年3月11日周三 下午7:59写道:
>> >
>> > > 那有可能是可以的,你可以试试看
>> > >
>> > > Best,
>> > > Kurt
>> > >
>> > >
>> > > On Wed, Mar 11, 2020 at 6:57 PM [hidden email] <
>> > > [hidden email]> wrote:
>> > >
>> > > > Hi Kurt,
>> > > >
>> > > > 如果我不用 sql-client, 直接把表注册、sql join 之类的操作写在 java 代码里打成 jar 包就能实现从
>> state
>> > > > 中恢复的功能吗?
>> > > > 代码里没有任何跟 state 声明、TTL 定义之类的操作。任务 cancel -s 之前已经存在的表信息会在 state
>> > > > 存储并且再次提交任务可以被访问到直接用吗?
>> > > >
>> > > > 谢谢,
>> > > > 王磊
>> > > >
>> > > > ------------------------------
>> > > > [hidden email]
>> > > >
>> > > >
>> > > > *Sender:* Kurt Young <[hidden email]>
>> > > > *Send Time:* 2020-03-11 12:54
>> > > > *Receiver:* [hidden email]
>> > > > *cc:* user-zh <[hidden email]>
>> > > > *Subject:* Re: Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?
>> > > > sql client 目前还不支持这个功能。
>> > > >
>> > > > Best,
>> > > > Kurt
>> > > >
>> > > >
>> > > > On Wed, Mar 11, 2020 at 11:35 AM [hidden email] <
>> > > > [hidden email]> wrote:
>> > > >
>> > > >> Hi Kurt,
>> > > >> 确实是可以 直接 flink  cancel -s 保存状态。
>> > > >> 但我是用 flink-sql-client 直接写 sql 提交的 job,再提交的时候怎样可以指定状态目录让这个任务从状态恢复呢?
>> > > >>
>> > > >> 谢谢,
>> > > >> 王磊
>> > > >>
>> > > >>
>> > > >> *Sender:* Kurt Young <[hidden email]>
>> > > >> *Send Time:* 2020-03-11 10:38
>> > > >> *Receiver:* user-zh <[hidden email]>
>> > > >> *Subject:* Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?
>> > > >> 理论上来说,flink SQL的作业在编译完生成JobGraph并提交到集群上后,和Datastream的作业就没有什么本质的不同了。
>> > > >> 应该也可以支持flink cancel -s 的功能,你可以先试下,如果碰到什么问题再看看。
>> > > >>
>> > > >> Best,
>> > > >> Kurt
>> > > >>
>> > > >>
>> > > >> On Wed, Mar 11, 2020 at 10:24 AM [hidden email] <
>> > > >> [hidden email]> wrote:
>> > > >>
>> > > >> > 有两个表:
>> > > >> > tableA: key  valueA
>> > > >> > tableB: key  valueB
>> > > >> >
>> > > >> > 我之前用 flink state 的方式存储 tableA,tableB 的消息过来以后去 query 这个 state 得到
>> > valueA
>> > > >> > 直接 写 flinkSQL 也可以实现这种功能,但这两个表有时间差,任务停止后重新提交会丢失部分 join 的结果。
>> > > >> > flinkSQL 有没有类似 flink cancel -s 保存 state 的功能呢?
>> > > >> >
>> > > >> > 谢谢,
>> > > >> > 王磊
>> > > >> >
>> > > >>
>> > > >>
>> > >
>> >
>>
>
Reply | Threaded
Open this post in threaded view
|

Re: Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?

wanglei2@geekplus.com.cn
In reply to this post by Kurt Young
我试了下,是可以的。

Thanks


[hidden email]
 
Sender: Kurt Young
Send Time: 2020-03-11 19:59
Receiver: [hidden email]
cc: user-zh
Subject: Re: Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?
那有可能是可以的,你可以试试看

Best,
Kurt


On Wed, Mar 11, 2020 at 6:57 PM [hidden email] <[hidden email]> wrote:
Hi Kurt,

如果我不用 sql-client, 直接把表注册、sql join 之类的操作写在 java 代码里打成 jar 包就能实现从 state 中恢复的功能吗?
代码里没有任何跟 state 声明、TTL 定义之类的操作。任务 cancel -s 之前已经存在的表信息会在 state 存储并且再次提交任务可以被访问到直接用吗?

谢谢,
王磊



[hidden email]
 
Sender: Kurt Young
Send Time: 2020-03-11 12:54
Receiver: [hidden email]
cc: user-zh
Subject: Re: Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?
sql client 目前还不支持这个功能。

Best,
Kurt


On Wed, Mar 11, 2020 at 11:35 AM [hidden email] <[hidden email]> wrote:
Hi Kurt,
确实是可以 直接 flink  cancel -s 保存状态。
但我是用 flink-sql-client 直接写 sql 提交的 job,再提交的时候怎样可以指定状态目录让这个任务从状态恢复呢?

谢谢,
王磊
 
Sender: Kurt Young
Send Time: 2020-03-11 10:38
Receiver: user-zh
Subject: Re: flink sql join 可以有 state 存储并从 state 恢复数据吗?
理论上来说,flink SQL的作业在编译完生成JobGraph并提交到集群上后,和Datastream的作业就没有什么本质的不同了。
应该也可以支持flink cancel -s 的功能,你可以先试下,如果碰到什么问题再看看。
 
Best,
Kurt
 
 
On Wed, Mar 11, 2020 at 10:24 AM [hidden email] <
[hidden email]> wrote:
 

> 有两个表:
> tableA: key  valueA
> tableB: key  valueB
>
> 我之前用 flink state 的方式存储 tableA,tableB 的消息过来以后去 query 这个 state 得到 valueA
> 直接 写 flinkSQL 也可以实现这种功能,但这两个表有时间差,任务停止后重新提交会丢失部分 join 的结果。
> flinkSQL 有没有类似 flink cancel -s 保存 state 的功能呢?
>
> 谢谢,
> 王磊
>