0

Я пытаюсь использовать kafka-connect для потоковой передачи данных в HDFS с интеграцией улья во время процесса.Несколько разделов кустов с kafka-connect

В моем случае использования я должен использовать поле «FieldPartioner» в качестве класса разделителя.

Моя проблема в том, что я не могу получить несколько разделов.

Пример:

Мой пример JSON

{ 
    "_id": "582d666ff6e02edad83cae28", 
    "index": "ENAUT", 
    "mydate": "03-01-2016", 
    "hour": 120000, 
    "balance": "$2,705.80" 
} 

Я хочу иметь разделы на основе 'MyDate' и 'час'

Я попробовал следующее

name=hdfs-sink 
connector.class=io.confluent.connect.hdfs.HdfsSinkConnector 
tasks.max=1 
topics=fieldPartition_test_hdfs 
hdfs.url=hdfs://quickstart.cloudera:8020 
flush.size=3 

partitioner.class=io.confluent.connect.hdfs.partitioner.FieldPartitioner 
partition.field.name={mydate,hour} 

locale=en 
timezone=GMT 

hive.database=weblogs 
hive.integration=true 
hive.metastore.uris=thrift://quickstart.cloudera:9083 
schema.compatibility=BACKWARD 

Также попытался указать partition.field.name как

partition.field.name={'mydate','hour'} 

и

partition.field.name=mydate,hour 

и многие другие такие комбинации

Любая помощь по этому вопросу будет весьма признателен

Спасибо.

ответ

1

Я пробовал все это, и позже начал копаться в исходном коде.

Код FieldPartitoner является here!

И последний коммит в файл здесь, показывает «Возвратить„Поддержка мульти полей раздела“3 месяца назад»

Пожалуйста, дайте мне знать, если вы, ребята, есть какие-либо другое решение.

Смежные вопросы