Потоковая передача файлов с разделителями с использованием Spring Cloud Data Flow - PullRequest
1 голос
/ 06 мая 2020

Я пытаюсь загрузить файл с разделителями табуляции с удаленного сервера Linux и загрузить его в базу данных Postgres с помощью Spring Cloud Data Flow, но не могу выбрать подходящий источник и приемник.

Для источник, я попытался использовать источник файла, а также источник SFTP. Источник файлов, похоже, не имеет возможности подключиться к удаленному серверу Linux, а источник SFTP имеет эти параметры, но, похоже, он в основном используется для передачи файлов, а не для их анализа.

Для Sink, Я установил приемник PgCopy и планирую использовать его для загрузки данных. Я хотел бы знать, подходит ли это значение для моего варианта использования go.

Спасибо.

1 Ответ

0 голосов
/ 20 мая 2020

Вы можете использовать sftp source с --mode lines, чтобы разделить содержимое файла по строкам и отправить сообщение для каждой строки.

Затем вы можете проанализировать каждую строку с помощью Парсер CSV. Я сделал процессор , который может разделить каждую строку на java .util.Map, используя jackson-csv с учетом конфигурации . Я думаю, вы могли бы использовать его как основу для своего собственного или использовать его, как я показываю в этом видео (на французском).

Для завершения sh вы можете опубликовать sh каждая карта в вашу таблицу pg sql, используя jdb c -sink , как я сделал в данном видео с этой конфигурацией .

...