Kafka Connect HDFS (Azure) Persist Avro Значения и строковые ключи - PullRequest
0 голосов
/ 01 апреля 2019

Я настроил HDFS Kafka Connect для работы на Azure Datalake, однако я только что заметил, что ключи (строки) в любом случае не сохраняются, только значения Avro.

Когда я думаю об этом, я предполагаю, что это имеет смысл, так как разделение, которое я хочу применить в озере данных, не связано с ключом, и я не указал какую-либо новую схему Avro, которая включает ключ String в существующую схему значений Avro. .

Теперь в конфигурациях, которые я предоставляю при запуске сценария connect-distributed.sh, у меня есть (среди других конфигураций)

...
key.converter=org.apache.kafka.connect.storage.StringConverter
value.converter=io.confluent.connect.avro.AvroConverter
value.converter.schema.registry.url=http://<ip>:<port>
...

Но в фактическом коннекторе приемника, который я установил с помощью curl, я просто указываю формат вывода как

...
"format.class": "io.confluent.connect.hdfs.avro.AvroFormat"
...

поэтому соединитель предполагает, что значение Avro должно быть записано.

Итак, у меня два вопроса. Как мне сообщить соединителю, что он должен сохранить ключ вместе со значением как часть новой схемы Avro, и где я могу определить эту схему?

Обратите внимание, что это кластер Azure HDInsight, поэтому он не является решением Confluent Kafka (хотя у меня был бы доступ к коду с открытым исходным кодом, например Kafka Connect HDFS)

...