Мне нужна помощь по теме kafka, которую я хотел бы поместить в HDFS в формате паркет (с ежедневным разделителем).
У меня много данных в теме kafka, которые в основном представляют собой данные json, подобные этой:
{"title":"Die Hard","year":1988,"cast":["Bruce Willis","Alan Rickman","Bonnie Bedelia","William Atherton","Paul Gleason","Reginald VelJohnson","Alexander Godunov"],"genres":["Action"]}
{"title":"Toy Story","year":1995,"cast":["Tim Allen","Tom Hanks","(voices)"],"genres":["Animated"]}
{"title":"Jurassic Park","year":1993,"cast":["Sam Neill","Laura Dern","Jeff Goldblum","Richard Attenborough"],"genres":["Adventure"]}
{"title":"The Lord of the Rings: The Fellowship of the Ring","year":2001,"cast":["Elijah Wood","Ian McKellen","Liv Tyler","Sean Astin","Viggo Mortensen","Orlando Bloom","Sean Bean","Hugo Weaving","Ian Holm"],"genres":["Fantasy »]}
{"title":"The Matrix","year":1999,"cast":["Keanu Reeves","Laurence Fishburne","Carrie-Anne Moss","Hugo Weaving","Joe Pantoliano"],"genres":["Science Fiction"]}
Название этой темы: test
И я хотел бы поместить эти данные в мой кластер HDFS в формате паркета.Но я борюсь с конфигурацией разъема мойки.Для этого я использую сливной коннектор hdfs-раковина.
Вот что мне удалось сделать до сих пор:
{
"name": "hdfs-sink",
"config": {
"name": "hdfs-sink",
"connector.class": "io.confluent.connect.hdfs.HdfsSinkConnector",
"tasks.max": "1",
"topics": "test",
"hdfs.url": "hdfs://hdfs-IP:8020",
"hadoop.home": "/user/test-user/TEST",
"flush.size": "3",
"locale": "fr-fr",
"timezone": "UTC",
"format.class": "io.confluent.connect.hdfs.parquet.ParquetFormat",
"partitioner.class": "io.confluent.connect.hdfs.partitioner.DailyPartitioner",
"consumer.auto.offset.reset": "earliest",
"value.converter": "org.apache.kafka.connect.json.JsonConverter",
"key.converter": "org.apache.kafka.connect.json.JsonConverter",
"key.converter.schemas.enable": "true",
"value.converter.schemas.enable": "true"
}
}
Некоторое объяснение того, почему я настроил разъем таким образом:
- У меня много таких данных, которые ежедневно заполняют мою тему
- Конечная цель - иметь один файл паркета в день в моей HDFS для этой темы
Я понял, что, возможно, мне нужно использовать системный реестр для форматирования данных в паркет, но я не знаю, как это сделать.И нужно ли это?
Не могли бы вы мне помочь с этим?
Спасибо