【问题标题】:Kafka Connect Hive integration does not create Hive tableKafka Connect Hive 集成不会创建 Hive 表
【发布时间】:2020-09-04 14:42:18
【问题描述】:

我有以下 kafka 连接器配置:

{
  "name": "some-topic-connector",
  "config": {
    "connector.class": "io.confluent.connect.hdfs.HdfsSinkConnector",
    "tasks.max": "1",
    "topics": "some-topic",
    "hdfs.url": "hdfs://hadoopams1",
    "logs.dir": "apps/kafka-connect-preview/some-topic.logs",
    "topics.dir": "apps/kafka-connect-preview/some-topic.db",
    "hadoop.conf.dir": "/etc/hadoop/conf",
    "flush.size": "1000000",
    "rotate.interval.ms": "3600000",
    "rotate.schedule.interval.ms": "86400000",
    "hive.integration": "true",
    "hive.metastore.uris": "thrift://metastore-1.hadoop-1.foobar.com:9083",
    "hive.database": "preview",
    "locale": "en_GB",
    "timezone": "Europe/Berlin",
    "key.converter": "org.apache.kafka.connect.storage.StringConverter",
    "value.converter": "io.confluent.connect.avro.AvroConverter",
    "value.converter.schema.registry.url": "http://schema-registry.preview.foobar.com",
    "schema.compatibility": "BACKWARD",
    "partitioner.class": "io.confluent.connect.storage.partitioner.TimeBasedPartitioner",
    "partition.duration.ms": "86400000",
    "path.format": "'dt'=YYYYMMdd",
    "partition.field.name": "dt"
  }
}

我已验证数据已成功写入 HDFS,但由于某种原因未创建 Hive 中的表。从日志中,我在 Kafka Connect 中看不到任何错误。

我做错了什么?我是否缺少某些配置或要求?

【问题讨论】:

    标签: apache-kafka hive apache-kafka-connect


    【解决方案1】:

    如果logs.dirtopics.dir 已经存在,HdfsSinkConnector 不会在 Hive 中创建表 known issue(功能?)。例如,如果您决定在连接器创建后的某个时间点启用 Hive 集成,就会发生这种情况。

    还有一个pull request 修复了这个问题,但是还没有被合并。

    所以

    • 您根据上面链接的拉取请求构建自己的HdfsSinkConnector
    • 您重命名目录,重新创建连接器,等待 Hive 表创建完毕,然后将表移回(在生产环境中当然很难)
    • 或者您手动创建表

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-18
      • 2018-07-27
      • 1970-01-01
      • 1970-01-01
      • 2017-04-01
      • 1970-01-01
      • 2012-08-04
      • 1970-01-01
      相关资源
      最近更新 更多