Есть ли способ передать только определенный тип события из темы kafka в HDFS, фильтруя остальные типы с помощью коннектора kafka connect HDFS?
Kafka Connect имеет преобразования для управления сообщениями, но не предназначен для фильтрации. Обычно это делается с помощью Kafka Streams или KSQL.
можем ли мы разделить входные события на основе некоторого ключа и записать в разные разделы, чтобы значения определенного ключа попадали в конкретный раздел?
Класс FieldPartitioner
, упомянутый в документации Confluent, делает это (предупреждение: я считаю, что он работает только с полями верхнего уровня, а не с вложенными полями записей JSON или Avro)
можем ли мы использовать ключи, хранящиеся в реестре схемы, для получения значений в теме, относящейся к конкретному ключу для данных формата avro?
Я не понимаю вопроса, но HDFS Connect по умолчанию игнорирует ключ сообщения Kafka при записи данных, поэтому я скажу нет.
Данные Kafka не индексируются по ключу, они разделяются им, что означает, что если вы использовали DefaultPartioner, а не FieldPartitioner, то все ключи попали бы в один путь файловой системы разделом Kafka. Только тогда вы сможете делать запросы, но не по ключу, а по разделу. например с помощью Spark или Hive. Опять же, это поведение по умолчанию - вы можете использовать Transform, как упоминалось ранее, чтобы добавить ключ Kafka в данные, которые вы затем можете запросить по нему.
person
OneCricketeer
schedule
11.07.2018