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 忝忝向仧 <15...@qq.com> on 2020/06/21 15:26:42 UTC

【Flink在sink端的Exactly once语义】

Hi,all:


Flink连接器这块,如果是sink到mysql,ES等,有对应的实现exactly once语义么?
比如kafka的连接有sink的exactly once语义,sink时候指定即可.
那么,如果是mysql后者其他的有么?
谢谢.
return new FlinkKafkaProducer011<&gt;(
        "topic",
        new KeyedSerializationSchemaWrapper<&gt;(new SimpleStringSchema()),
        producerProperties,
        FlinkKafkaProducer011.Semantic.EXACTLY_ONCE);

Re: Re: 【Flink在sink端的Exactly once语义】

Posted by Jingsong Li <ji...@gmail.com>.
Hi,

补充Benchao的观点:
- 除了kafka以外,还有StreamingFileSink也是exactly-once不多不少的。
- 对于Mysql、ES,这种支持主键更新的,在upsert语义下(比如一个count(*) from t group
by),数据是最终一致的。所以我理解数据也是不多不少的exactly once语义。

Best,
Jingsong Lee

On Mon, Jun 22, 2020 at 11:46 AM 程龙 <13...@163.com> wrote:

> 需要自己实现比如幂等操作 比如通过表示为操作
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> 在 2020-06-22 10:04:43,"Benchao Li" <li...@apache.org> 写道:
> >看起来现在只有Kafka实现了TwoPhaseCommitSinkFunction,所以目前应该也只有Kafka支持exactly once。
> >
> >不过像Mysql、ES这种,可以根据主键来更新的,只要能做到at least once应该就可以了。
> >
> >忝忝向仧 <15...@qq.com> 于2020年6月21日周日 下午11:27写道:
> >
> >> Hi,all:
> >>
> >>
> >> Flink连接器这块,如果是sink到mysql,ES等,有对应的实现exactly once语义么?
> >> 比如kafka的连接有sink的exactly once语义,sink时候指定即可.
> >> 那么,如果是mysql后者其他的有么?
> >> 谢谢.
> >> return new FlinkKafkaProducer011<&gt;(
> >>         "topic",
> >>         new KeyedSerializationSchemaWrapper<&gt;(new
> SimpleStringSchema()),
> >>         producerProperties,
> >>         FlinkKafkaProducer011.Semantic.EXACTLY_ONCE);
> >
> >
> >
> >--
> >
> >Best,
> >Benchao Li
>


-- 
Best, Jingsong Lee

Re:Re: 【Flink在sink端的Exactly once语义】

Posted by 程龙 <13...@163.com>.
需要自己实现比如幂等操作 比如通过表示为操作

















在 2020-06-22 10:04:43,"Benchao Li" <li...@apache.org> 写道:
>看起来现在只有Kafka实现了TwoPhaseCommitSinkFunction,所以目前应该也只有Kafka支持exactly once。
>
>不过像Mysql、ES这种,可以根据主键来更新的,只要能做到at least once应该就可以了。
>
>忝忝向仧 <15...@qq.com> 于2020年6月21日周日 下午11:27写道:
>
>> Hi,all:
>>
>>
>> Flink连接器这块,如果是sink到mysql,ES等,有对应的实现exactly once语义么?
>> 比如kafka的连接有sink的exactly once语义,sink时候指定即可.
>> 那么,如果是mysql后者其他的有么?
>> 谢谢.
>> return new FlinkKafkaProducer011<&gt;(
>>         "topic",
>>         new KeyedSerializationSchemaWrapper<&gt;(new SimpleStringSchema()),
>>         producerProperties,
>>         FlinkKafkaProducer011.Semantic.EXACTLY_ONCE);
>
>
>
>-- 
>
>Best,
>Benchao Li

Re: 【Flink在sink端的Exactly once语义】

Posted by Benchao Li <li...@apache.org>.
看起来现在只有Kafka实现了TwoPhaseCommitSinkFunction,所以目前应该也只有Kafka支持exactly once。

不过像Mysql、ES这种,可以根据主键来更新的,只要能做到at least once应该就可以了。

忝忝向仧 <15...@qq.com> 于2020年6月21日周日 下午11:27写道:

> Hi,all:
>
>
> Flink连接器这块,如果是sink到mysql,ES等,有对应的实现exactly once语义么?
> 比如kafka的连接有sink的exactly once语义,sink时候指定即可.
> 那么,如果是mysql后者其他的有么?
> 谢谢.
> return new FlinkKafkaProducer011<&gt;(
>         "topic",
>         new KeyedSerializationSchemaWrapper<&gt;(new SimpleStringSchema()),
>         producerProperties,
>         FlinkKafkaProducer011.Semantic.EXACTLY_ONCE);



-- 

Best,
Benchao Li