DataX插件KafkaWriter

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DataX插件KafkaWriter相关的知识,希望对你有一定的参考价值。

参考技术A DataX插件开发宝典

https://github.com/alibaba/DataX/blob/master/dataxPluginDev.md

Datax 插件开发 Kafka writer

https://www.imooc.com/article/259830

Datax 二次开发插件详细过程(kafkaReader为例)

https://blog.csdn.net/lw277232240/article/details/90903251

kafkawriter插件 需要打包放进datax的plugins

https://gitee.com/mjlfto/dataX/tree/master/kafkawriter

此为datax新增kafka的内容,参数说明

参数说明

bootstrapServers
描述:kafka服务地址,格式:host1:port,host2:port 样例:10.1.20.111:9092,10.1.20.121:9092
必选:是
默认值:无

topic
描述:kafka Topic 名称, 目前支持一次写入单个topic
必选:是
默认值:无

ack
描述:消息的确认机制,默认值是0
acks=0:如果设置为0,生产者不会等待kafka的响应。
acks=1:这个配置意味着kafka会把这条消息写到本地日志文件中,但是不会等待集群中其他机器的成功响应。
acks=all:这个配置意味着leader会等待所有的follower同步完成。这个确保消息不会丢失,除非kafka集群中所有机器挂掉。这是最强的可用性保证。
必选:否
默认值:0

batchSize
描述:当多条消息需要发送到同一个分区时,生产者会尝试合并网络请求。这会提高client和生产者的效率
默认值:16384
必选:否

retries
描述:配置为大于0的值的话,客户端会在消息发送失败时重新发送:
默认值:0
必选:否
默认值:0

fieldDelimiter
描述:当wirteType为text时,写入时的字段分隔符
默认值:,(逗号)
必选:否
默认值:,

keySerializer
描述:键序列化,默认org.apache.kafka.common.serialization.StringSerializer
必选:否
默认值:org.apache.kafka.common.serialization.StringSerializer

valueSerializer
描述:键序列化,默认org.apache.kafka.common.serialization.StringSerializer
必选:否

noTopicCreate
描述:当没有topic时,是否创建topic,默认false
必选:haveKerberos 为true必选
默认值:false

topicNumPartition
描述:topic Partition 数量
必选:否
默认值:1

topicReplicationFactor
描述:topic replication 数量
必选:否
默认值:1

writeType
描述:写入到kafka中的数据格式,可选text, json

text:使用fieldDelimiter拼接所有字段值作为key,value相同,然后写到kafka
json:key和text格式相同,使用fieldDelimiter拼接所有字段值作为key,value使用datx内部column格式, 如下
rawData为数据值,如果对象中没有该字段, 表示该值为null

以上是关于DataX插件KafkaWriter的主要内容,如果未能解决你的问题,请参考以下文章

大数据技术之DataX DataX之opentsdbwriter插件开发

大数据技术之DataX DataX插件开发

大数据技术之DataX DataX插件开发

Airflow自定义插件, 使用datax抽数

datax源码解析-任务拆分机制详解

datax源码解析-任务拆分机制详解