可以配置Kafka Connector transforms以进行一个轻量级的消息修改。transforms可以方面的修改数据以及事件路由。
接下来我们将介绍如何配置一个transform。
首先,我们要在任务中配置transform,无论source 还是sink都可以配置transform
{
"name": "test-source",
"config": {
"connector.class": "io.debezium.connector.mysql.MySqlConnector",
"database.hostname": "localhost",
"database.port": "3306",
"database.user": "root",
"database.password": "root",
"tombstones.on.delete": "false",
"database.server.id": "1",
"database.server.name": "test-server",
"database.history.kafka.topic": "test-server-history",
"database.history.kafka.bootstrap.servers": "localhost:9092",
"include.schema.changes": "true",
"database.serverTimezone": "Asia/Shanghai",
"database.driver": "com.mysql.jdbc.Driver",
"database.history.kafka.recovery.poll.interval.ms": "3000",
"defaultFetchSize": "1000",
"database.tinyInt1isBit": "false",
"snapshot.locking.mode": "none",
"decimal.handling.mode": "string",
"transforms": "MakeMap,InsertSource",
"transforms.MakeMap.type":"org.apache.kafka.connect.transforms.HoistField$Value",
"transforms.MakeMap.field":"line",
"transforms.InsertSource.type":"org.apache.kafka.connect.transforms.InsertField$Value",
"transforms.InsertSou

本文介绍了Kafka Connect transforms的配置和使用,包括官方提供的多种transform如Cast、ExtractField等,并展示了如何在source任务中配置transform。还提及在现有transform无法满足需求时,如何开发自定义transform,涉及Transformation接口的关键方法如configure、apply和close。
最低0.47元/天 解锁文章
1488

被折叠的 条评论
为什么被折叠?



