Использование http-источника для сохранения файлов (с другим расширением) в HDFS с одинаковым расширением

Мне нужно создать линию конвейера данных, где источником является HTTP, а Sink - HDFS для размещения данных и файлов. Проблема в том, что я хочу сохранить файлы с тем же расширением, как они изначально отправлены в источник HTTP.

Я создал поток с помощью скрипта ниже

Поток создания httpToHdfs - определение "http | HDFS" --deploy

но когда я загружаю файлы в формате.gzip /.xml / .json, он сохраняет файлы в формате.txt

Я просто хочу скопировать файл в HDFS через HTTP-источник, возможно ли это с помощью Spring XD?

1 ответ

hdfs раковина используется для записи текстового потока в hdfs. Требуется опция с именем --fileExtension где вы можете указать расширение вашего файла. Этот приемник не предназначен для копирования двоичного файла, как есть, однако для этого вам нужно будет использовать настраиваемое пакетное задание, и ваш источник http отправит сообщение пакетному заданию, как только файл станет доступен. Есть предоставленная пакетная работа filepollhdfs это делает нечто подобное для файлов CSV.

Другие вопросы по тегам