Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka Kafka Connect:将数据接收到数据库表时,avro模式中的任何字段都可以忽略吗?_Apache Kafka_Avro_Apache Kafka Connect_Confluent Schema Registry - Fatal编程技术网

Apache kafka Kafka Connect:将数据接收到数据库表时,avro模式中的任何字段都可以忽略吗?

Apache kafka Kafka Connect:将数据接收到数据库表时,avro模式中的任何字段都可以忽略吗?,apache-kafka,avro,apache-kafka-connect,confluent-schema-registry,Apache Kafka,Avro,Apache Kafka Connect,Confluent Schema Registry,我有一个需求,需要一个多用途的avro模式。avro模式中的某些字段不需要放入数据库表中。例如: 我的avro模式是: { "namespace": "com.test.clearing", "type": "record", "name": "ClearingTest", "fields": [ { "name": "ID", "type": "int" }, { "name": "ITEM", "type

我有一个需求,需要一个多用途的avro模式。avro模式中的某些字段不需要放入数据库表中。例如:

我的avro模式是:

{
  "namespace": "com.test.clearing",
  "type": "record",
  "name": "ClearingTest",
  "fields": [
    {
      "name": "ID",
      "type": "int"
    },
    {
      "name": "ITEM",
      "type": "string"
    },
    {
        "name": "STAT",
        "type": "string"
    }
  ]
}
我的表DDL是:

-- auto-generated definition
create table CLEARING_TEST
(
    ID int not null primary key,
    ITEM varchar(200) null
);

我是否可以忽略kafka connector中的
STAT
字段,以便在数据库中下沉?

您可以使用kafka Connect的单消息转换(SMT),更准确地说,可以使用
黑名单来删除字段,以便在将消息从kafka插入目标数据库时忽略该字段:

"transforms": "ReplaceField",
"transforms.ReplaceField.type": "org.apache.kafka.connect.transforms.ReplaceField$Value",
"transforms.ReplaceField.blacklist": "STAT"

现在是原始信息:

{"ID": 1, "ITEM": "myItem", "STAT": "myStat"}
将转变为:

{"ID": 1, "ITEM": "myItem"}

我是否在接收器连接器属性文件中添加此配置?@Atif是,您需要在连接器的配置文件中添加上述行。@Giorgos,我已在connect-avro-standalone.properties文件中添加,但运气不佳。
connect-avro standalone.properties
不是连接器的配置文件,而是Kafka connect配置。您需要在连接器的配置文件中添加转换。谢谢,它可以工作,但是这个字段的$value值是多少?