当前位置: 首页 > 知识库问答 >
问题:

在Kafka Connect HDFS接收器中通过多个嵌套字段进行分区

黄和怡
2023-03-14

我们正在运行kafka hdfs接收器连接器(5.2.1版),需要用多个嵌套字段对hdfs数据进行分区。主题中的数据存储为Avro并具有嵌套元素。How ever connect无法识别嵌套字段,并抛出找不到字段的错误。下面是我们正在使用的连接器配置。hdfs接收器连接不支持通过嵌套字段进行分区吗?我可以通过使用非嵌套字段进行分区

{
            "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"
  }

共有1个答案

葛宪
2023-03-14

我为TimestampPartitioner添加了嵌套字段支持,但FieldPartitioner仍然有一个未完成的PR

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

 类似资料:
  • 问题内容: 我正在考虑AJAX应用程序必须轮询轮询更新有多大限制,而最理想的是javascript能够建立与服务器的真正双向连接。我想知道是否存在将javascript与可以建立tcp连接的浏览器插件集成的方法,以便可以将数据传入和传出浏览器插件。 问题答案: 这是具有类似方法的实现: 套接字 它使用Java Applet,并将其API桥接到JavaScript,有趣的是… 这里是另一个: 套接字

  • 问题内容: 我正在尝试计算具有唯一嵌套字段值的文档(以及文档本身)。看起来获得唯一文档有效。但是,当我尝试执行的请求时,出现如下错误: 禁止:org.elasticsearch.client.ResponseException:方法[POST],主机 [http:// localhost:9200] ,URI [/ package / _count?ignore_throttled = true&

  • 问题内容: 由于共享主机,我的目标主机上的redis服务器不是在端口上运行,而是在非常特定的套接字上运行,该套接字可以通过套接字文件连接,只有我的用户可以访问。 但是,我还没有找到如何在and 包(我想使用的包)中通过套接字指定连接的方法。 有人知道怎么做吗? 问题答案: 更新: 我下面的回答不是真的正确。事实证明,我下面提到的问题中的解决方案实际上仍然有效。IMO,这更多是巧合,但是您可以执行以

  • 问题内容: 我正在尝试调整我的简单套接字服务器,使其可以通过多线程具有多个TCP连接,但是我似乎无法使其正常工作。到目前为止,我的代码如下,我不太确定从这里可以去哪里: 谁能为我提供一些有关如何执行此操作的指示,以及为什么我当前的实现无法正常工作?我在这里浏览了Java教程http://download.oracle.com/javase/tutorial/networking/sockets/e

  • 问题内容: 我有带有嵌套字段的文档,如下所示: 嵌套字段的映射如下所示: 在切换到elasticsearch 2之前,我有一个带有aggs的查询,该查询计算了没有结果的文档。这是查询的聚合部分: 现在我切换到elasticserach 2,它只计算所有文档。我已经尝试过其他操作,例如计算所有文档和计算结果,以便可以减去结果,但是 总是0 如何正确过滤/计数嵌套字段? 问题答案: 如果您要计算产生结

  • 问题内容: 我在ng-table中有一张发票清单,希望能够对嵌套属性进行过滤。json看起来像这样; 我的看法是这样的 我想让过滤工作于client.fullname。如何过滤嵌套属性? 更新资料 我找到了一种解决方法,将嵌套字段放入非嵌套的JSON元素中,在上面的示例中,我创建了一个JSON [‘client_name’]元素并将其分配给rails模型中的client.fullname。然后,筛