让 Nifi 在 Hive 中使用 'alter table'
Getting Nifi to use 'alter table' in Hive
我将 Nifi 设置为从 SFTP 中提取文件,然后根据文件名将它们放入 HDFS 文件夹中。从那里,它需要发送命令 alter table ${dbname}.${tablename} add partition (year=${year}, date='${date}');
我知道我需要使用 "PutHiveQL" 处理器,但我不确定如何向它提供 'alter table' 命令。我在 Hortonworks 上读到一些帖子说要使用 "ReplaceText" 处理器,但我不确定在这种情况下是否可行。我以前的所有处理器都只是用来创建构建 HDFS 文件夹路径的变量。没有真正的 "text" 可以替代。那么,有什么想法可以将此命令传递给 Hive 吗?如有任何帮助,我们将不胜感激。
使用 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.
现在我们正在使用 ReplaceText
处理器创建 alter 语句并提供 成功 与 PutHiveQL
处理器
的关系
我将 Nifi 设置为从 SFTP 中提取文件,然后根据文件名将它们放入 HDFS 文件夹中。从那里,它需要发送命令 alter table ${dbname}.${tablename} add partition (year=${year}, date='${date}');
我知道我需要使用 "PutHiveQL" 处理器,但我不确定如何向它提供 'alter table' 命令。我在 Hortonworks 上读到一些帖子说要使用 "ReplaceText" 处理器,但我不确定在这种情况下是否可行。我以前的所有处理器都只是用来创建构建 HDFS 文件夹路径的变量。没有真正的 "text" 可以替代。那么,有什么想法可以将此命令传递给 Hive 吗?如有任何帮助,我们将不胜感激。
使用 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.
现在我们正在使用 ReplaceText
处理器创建 alter 语句并提供 成功 与 PutHiveQL
处理器