Flink-KafkaSink
2017-01-05 16:19:55 0 举报
登录查看完整内容
Flink-KafkaSink是Apache Flink的一个组件,用于将数据流写入Kafka。它是Flink的内置连接器之一,可以轻松地将Flink处理后的数据发送到Kafka中。使用Flink-KafkaSink可以方便地进行实时数据处理和流式传输,并且可以通过配置参数来控制数据的分区、序列化方式等。同时,Flink-KafkaSink还支持Exactly-Once语义,确保数据在传输过程中不会丢失或重复。总之,Flink-KafkaSink是一个功能强大、易于使用的连接器,可以帮助用户快速构建基于Flink和Kafka的实时数据处理系统。
作者其他创作
大纲/内容
producer.beginTransaction();
06. notifyCheckpointComplete
commit(pendingTransaction.handle);
String transactionalId = availableTransactionalIds.poll();
02 initializeUserContext ()
super.snapshotState(context);
构造方法
recycleTransactionalProducer(transaction.producer);
02 createTransactionalProducer()
创建 NextTransactionalIdHint
flinkKafkaPartitioner: FlinkFixedPartitioner
FlinkKafkaProducer
kafkaProducer : KafkaProducer
05 snapshotState
06 recycleTransactionalProducer
03 open(Configuration configuration)
创建回调对象 new Callback()
super.initializeState(context);
FlinkKafkaInternalProducer producer = createTransactionalProducer()
nextTransactionalIdHintState.clear();
pendingTransactionIterator 获取待提交事物
userContext = initializeUserContext();
close(Duration duration)
nextTransactionalIdHint: : NextTransactionalIdHint
01 构造方法: 初始化基本数据
currentTransactionHolder = beginTransactionInternal();
创建 TransactionalIdsGenerator
02 initializeState ()
06 commit
producer.initTransactions();
currentTransactionHolder = beginTransactionInternal();
pendingTransactionIterator 获取待提交事物列表
05 snapshotState
重新设置更新 nextTransactionalIdHintState 状态
更新状态
Set<String> transactionalIds = generateNewTransactionalIds();
producer : FlinkKafkaInternalProducer
02 initProducer(boolean registerMetrics)
04 invoke
02 beginTransaction()
availableTransactionalIds.add(producer.getTransactionalId());
关闭客户端:producer.close(Duration.ofSeconds(0));
构造方法:
initTransactions()
kafkaProducer = new KafkaProducer<>(properties);
commitTransaction()
generateIdsToUse(long nextFreeTransactionalId)
transaction.producer.commitTransaction();
transactionalIdsGenerator: TransactionalIdsGenerator
preCommit(currentTransactionHolder.handle)
availableTransactionalIds:BlockingDeque<String>
0 条评论
回复 删除
下一页