首页 > 解决方案 > Kafka Connect HDFS Sink中的多个嵌套字段分区

问题描述

我们正在运行 kafka hdfs sink 连接器(版本 5.2.1),需要将 HDFS 数据按多个嵌套字段进行分区。主题中的数据存储为 Avro 并具有嵌套元素。如何连接无法识别嵌套字段并引发错误找不到该字段。下面是我们正在使用的连接器配置。hdfs sink connect不支持嵌套字段分区吗?我可以使用非嵌套字段进行分区

{
            "connector.class": "io.confluent.connect.hdfs.HdfsSinkConnector",
            "topics.dir": "/projects/test/kafka/logdata/coss",
            "avro.codec": "snappy",
            "flush.size": "200",
            "connect.hdfs.principal": "test@DOMAIN.COM",
            "rotate.interval.ms": "500000",
            "logs.dir": "/projects/test/kafka/tmp/wal/coss4",
            "hdfs.namenode.principal": "hdfs/_HOST@HADOOP.DOMAIN",
            "hadoop.conf.dir": "/etc/hdfs",
            "topics": "test1",
            "connect.hdfs.keytab": "/etc/hdfs-qa/test.keytab",
            "hdfs.url": "hdfs://nameservice1:8020",
            "hdfs.authentication.kerberos": "true",
            "name": "hdfs_connector_v1",
            "key.converter": "org.apache.kafka.connect.storage.StringConverter",
            "value.converter": "io.confluent.connect.avro.AvroConverter",
            "value.converter.schema.registry.url": "http://myschema:8081",
            "partition.field.name": "meta.ID,meta.source,meta.HH",
            "partitioner.class": "io.confluent.connect.storage.partitioner.FieldPartitioner"
  }

标签: apache-kafkahdfsapache-kafka-connectconfluent-platform

解决方案


我为 TimestampPartitioner 添加了嵌套字段支持,但 FieldPartitioner 仍然有出色的 PR

https://github.com/confluentinc/kafka-connect-storage-common/pull/67


推荐阅读