Как заставить Нифи использовать 'alter table' в Hive - PullRequest
0 голосов
/ 02 октября 2019

У меня есть Nifi, настроенный на получение файлов из SFTP, а затем помещать их в папки HDFS на основе имени файла. Оттуда ему нужно отправить команду alter table ${dbname}.${tablename} add partition (year=${year}, date='${date}');

Я понял, что мне нужно использовать процессор "PutHiveQL", но я не уверен, как передать его команде "alter table". Я читал некоторые темы в Hortonworks, в которых говорится, что нужно использовать процессор ReplaceText, но я не уверен, что это сработает в этой ситуации. Все мои предыдущие процессоры просто созданы для создания переменных, которые формируют путь к папке HDFS. Там нет реального "текста", чтобы заменить. Итак, есть идеи, как я могу передать эту команду Hive? Любая помощь будет оценена.

1 Ответ

2 голосов
/ 02 октября 2019

Использование ReplaceText процессора со стратегией Always Replace.

Add these processors at the end of your flow:

--other processors 

PutHDFS //store file into HDFS

ReplaceText //always replace and replacement value alter statement

PutHiveQL //configure HiveConnectionPool and processor executes hive statements.

Теперь мы создаем оператор alter, используя ReplaceText процессор и добавляя success отношение к PutHiveQL процессор

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...