Пакетное задание Spring-xd для приема данных из kafka в hdfs

Как загрузить данные из kafka в hdfs с помощью пакетного задания spring-xd? Я хотел бы иметь пакетное задание, которое планируется запускать один раз в день. Как я могу отслеживать смещения в kafka?


person kalyan chakri    schedule 18.05.2015    source источник


Ответы (1)


Я предполагаю, что настройка потока kafka | hdfs не поможет вам, поскольку вы хотите запустить это как пакетное задание, чтобы вы могли организовать его как пакетное задание.

В этом случае готовый модуль пакетного задания XD, который может запускать kafka -> hdfs, пока недоступен. Вы можете реализовать пользовательский модуль пакетного задания.

Чтобы читать сообщения Kafka, вам понадобится реализация ItemReader, которая читает сообщения Kafka от Kafka Broker. См. аналогичный подход в AMQPItemReader:

https://github.com/spring-projects/spring-batch/blob/master/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/amqp/AmqpItemReader.java

Взгляд на spring-integration-kafka поможет здесь для конкретной реализации Kafka: https://github.com/spring-projects/spring-integration-kafka

Для записи данных в HDFS в XD уже есть org.springframework.xd.batch.item.hadoop.HdfsTextItemWriter.

Любой из существующих модулей пакетных заданий XD, которые записывают в HDFS, поможет вам реализовать это. Не стесняйтесь открывать JIRA, и ваш вклад приветствуется.

person Ilayaperumal Gopinathan    schedule 18.05.2015
comment
Спасибо. В настоящее время я пытаюсь создать потоковую кафку | hdfs, но не удалось развернуть. Выдает следующую ошибку: DeploymentStatus{state=failed,error(s)=org.springframework.beans.factory.BeanCreationException: Ошибка при создании bean-компонента с именем «hadoopConfiguration»: не удалось вызвать метод инициализации; вложенным исключением является java.lang.NoClassDefFoundError: org/apache/hadoop/mapred/JobConf - person kalyan chakri; 20.05.2015