Apache nifi 连接NiFi和Vertica

Apache nifi 连接NiFi和Vertica,apache-nifi,vertica,Apache Nifi,Vertica,我正在尝试将一个从SFTP服务器抓取的CSV文件作为新表上传到Vertica。我配置了GetSFTP处理器,但我似乎不明白如何设置与Vertica的连接并执行SQL?除了@sKwa的批量加载程序思想外,您还可以使用Vertica JAR和将执行SQL的PutSQL处理器创建一个DBCPConnectionPool。如果您需要将数据转换为SQL,您可以使用ConvertJSONToSQL,否则使用基本上是“ConvertXToSQL->PutSQL”的PutDatabaseRecord。除了@sK

我正在尝试将一个从SFTP服务器抓取的CSV文件作为新表上传到Vertica。我配置了
GetSFTP
处理器,但我似乎不明白如何设置与Vertica的连接并执行SQL?

除了@sKwa的批量加载程序思想外,您还可以使用Vertica JAR和将执行SQL的PutSQL处理器创建一个DBCPConnectionPool。如果您需要将数据转换为SQL,您可以使用ConvertJSONToSQL,否则使用基本上是“ConvertXToSQL->PutSQL”的PutDatabaseRecord。

除了@sKwa的批量加载程序思想外,您还可以使用Vertica JAR和将执行SQL的PutSQL处理器创建一个DBCPConnectionPool。如果您需要将数据转换为SQL,可以使用ConvertJSONToSQL,否则使用基本上是“ConvertXToSQL->PutSQL”的PutDatabaseRecord。

1-您需要使用Vertica JAR设置一个DBCPConnectionPool,如@mattyb所述

2-创建一个暂存区域,您将在其中拥有可执行文件(复制脚本)

3-创建模板以管理脚本或加载(替换文本处理器)

注意:

  • 您在这里看到的参数来自上游处理器的流文件
  • 这是一个可重用的流程组,因此有许多其他PG将其输出发送到此
示例:

  • 数据馈送任务将运行一个启动数据馈送(此PG将保存它自己的参数和值)-如果执行此步骤时没有出现错误,如果执行失败,则转到另一个处理错误的可重用PG

  • 每日摄取过程(每5分钟滴流加载一次),-PG将准备CSV文件,将其移动到暂存,确保所有文件的格式正确,-如果在执行此步骤时没有错误,则失败,转到另一个处理错误的可重用PG

因此,许多PG将使用可重用PG在数据库中加载数据

PG-代表流程组

  • 这就是我的样子
./home/dbadmin/.profile/opt/vertica/bin/vsql-U$username-w $password-d analytics-c“从中复制${TableSchema}.${TableToLoad}” “${folder}/*.csv”分隔符“|”由“~”null作为“”流括起 名称“${TableToLoad}${TaskType}”拒绝将数据作为表 ${TableSchema}.${TableToLoad}\u拒绝;选择 分析_统计数据('${TableSchema}.${TableToLoad}')

-您还可以添加参数或创建新参数一次

4-更新属性Proc,以便可以命名可执行文件

5-将Vertica加载脚本放置在计算机上的Putfile过程

6-ExecuteStreamComnand-这将运行shell脚本。 -审计日志和其他任何东西都可以在这里完成

更好-请参阅随附的模板,其中包含一个可重复使用的PG,我使用NIFI将数据加载到Vertica

对于Vertica DBCP,设置应如下所示:

  • 其中红色标记为您的IP地址:端口/dbadmin

注意:
此DBCPConnectionPool可以是项目级别(在PG内部)或NIFI级别(使用Controller Services菜单在主画布中创建)

1-您需要使用Vertica JAR设置一个DBCPConnectionPool,如上面提到的@mattyb

2-创建一个暂存区域,您将在其中拥有可执行文件(复制脚本)

3-创建模板以管理脚本或加载(替换文本处理器)

注意:

  • 您在这里看到的参数来自上游处理器的流文件
  • 这是一个可重用的流程组,因此有许多其他PG将其输出发送到此
示例:

  • 数据馈送任务将运行一个启动数据馈送(此PG将保存它自己的参数和值)-如果执行此步骤时没有出现错误,如果执行失败,则转到另一个处理错误的可重用PG

  • 每日摄取过程(每5分钟滴流加载一次),-PG将准备CSV文件,将其移动到暂存,确保所有文件的格式正确,-如果在执行此步骤时没有错误,则失败,转到另一个处理错误的可重用PG

因此,许多PG将使用可重用PG在数据库中加载数据

PG-代表流程组

  • 这就是我的样子
./home/dbadmin/.profile/opt/vertica/bin/vsql-U$username-w $password-d analytics-c“从中复制${TableSchema}.${TableToLoad}” “${folder}/*.csv”分隔符“|”由“~”null作为“”流括起 名称“${TableToLoad}${TaskType}”拒绝将数据作为表 ${TableSchema}.${TableToLoad}\u拒绝;选择 分析_统计数据('${TableSchema}.${TableToLoad}')

-您还可以添加参数或创建新参数一次

4-更新属性Proc,以便可以命名可执行文件

5-将Vertica加载脚本放置在计算机上的Putfile过程

6-ExecuteStreamComnand-这将运行shell脚本。 -审计日志和其他任何东西都可以在这里完成

更好-请参阅随附的模板,其中包含一个可重复使用的PG,我使用NIFI将数据加载到Vertica

对于Vertica DBCP,设置应如下所示:

  • 其中红色标记为您的IP地址:端口/dbadmin

注意: 此DBCPConnectionPool可以是项目级别(在PG内部)或NIFI级别(使用控制器服务菜单在主画布中创建)

调用加载程序命令