Подключение NiFi к Vertica

Я пытаюсь загрузить CSV-файл, полученный с SFTP-сервера, в Vertica в качестве новой таблицы. Я получил GetSFTP настроен процессор - но я не могу понять, как настроить соединение с Vertica и выполнить SQL?

2 ответа

Решение

1 - Вам необходимо настроить DBCPConnectionPool с вашими JAR- файлами Vertica, такими как @mattyb.

2 - Создайте промежуточную область, где у вас будет свой исполняемый файл (скопируйте сценарии)

3 - Создайте шаблон для управления вашими скриптами или загрузками (ReplaceText Processor)

Замечания:

  • параметры, которые вы видите здесь, поступают в файл потока от предшествующих процессоров.
  • это группа процессов многократного использования, так что есть много других PG, чьи результаты будут отправлены на это.

Пример:

  • Задача data_feed запустит Начальный поток данных (этот PG будет хранить свои собственные параметры и значения) - если выполнение выполняется без ошибок, на этом шаге происходит сбой, он переходит к другому повторно используемому PG, который обрабатывает ошибки.

  • ежедневный процесс загрузки (ручная загрузка каждые 5 минут), - PG подготовит файл CSV, переместит его в стадию, удостоверится, что все в нужном формате, - если выполнение выполняется без ошибок, дойдет до этого шага, если это не удастся переходит к другому многоразовому PG, который обрабатывает ошибки.

И поэтому многие PG используют этот многоразовый PG для загрузки данных в БД.

PG - Стенд для группы процессов

  • вот так выглядит моя

./home/dbadmin/.profile /opt/vertica/bin/vsql -U $ имя пользователя -w $ пароль -d аналитика -c " copy ${TableSchema}.${TableToLoad} FROM '${folder}/*.csv'разделитель'|' заключено в '~' null как ' ' ИМЯ ПОТОКА '${TableToLoad} ${TaskType}' ОТКЛОНЕННЫЕ ДАННЫЕ КАК ТАБЛИЦА ${TableSchema}.${TableToLoad}_Rejects; выбрать analysis_statistics ('$ {TableSchema}. $ {TableToLoad}');"

-Вы также можете добавить свой параметр или создать новый

4 - Обновление атрибута Proc, чтобы вы могли назвать исполняемый файл.

5 - Putfile proc, который поместит загрузочный скрипт Vertica на компьютер.

6 - ExecuteStreamComnand - это запустит скрипт оболочки. - Журналы аудита и любые другие вещи могут быть сделаны здесь.

Еще лучше - см. Прилагаемый шаблон с многоразовым PG, который я использую для загрузки данных в Vertica с NIFI.

http://www.aodba.com/bulk-load-data-vertica-apache-nifi/

Что касается DBCP Vertica, настройка должна выглядеть следующим образом:

  • где красная метка это ваш ipaddress: порт / dbadmin

Примечание. Этот DBCPConnectionPool может быть на уровне проекта (внутри PG) или на уровне NIFI (создайте его на главном холсте с помощью меню служб контроллера)

Помимо идеи массового загрузчика из @sKwa, вы также можете создать DBCPConnectionPool с вашими JAR-файлами Vertica и процессором PutSQL, который будет выполнять SQL. Если вам нужно преобразовать данные в SQL, вы можете использовать ConvertJSONToSQL, в противном случае используйте PutDatabaseRecord, который по сути является "ConvertXToSQL -> PutSQL" вместе.

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