You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NiFi中如何为Psql表新增文件名列?用什么Processor与SQL

选用Processor

选择PutSQL处理器即可。
该处理器原生支持PostgreSQL的DDL、DML语句执行,既可以完成表结构新增列的操作,后续写入业务数据时也可以直接复用,支持直接引用NiFi流文件自带的文件名属性完成字段赋值,不需要额外切换组件。

对应SQL语句

1. 新增文件名列的表结构变更SQL

执行前将代码中的替换为你的实际业务表名改成你当前PSQL表的真实名称,示例中文件名列命名为source_file_name,你可以根据业务需要调整列名,255长度的varchar类型足够存储常规文件名:

ALTER TABLE 替换为你的实际业务表名
ADD COLUMN source_file_name VARCHAR(255);

2. 数据入库时自动写入文件名的SQL参考

如果需要在数据写入环节自动把当前处理的源文件名存入该列,可以直接在PutSQL的SQL配置项中通过NiFi表达式语言引用流文件默认携带的filename属性,示例插入语句如下:

INSERT INTO 替换为你的实际业务表名(cattlegendernm, price, source_file_name)
VALUES (?, ?, '${filename}');

说明:语句中前两个?是cattlegendernm、price字段的参数占位符,如果你从流文件内容读取这两个字段的值,PutSQL会自动按字段顺序匹配取值;如果你的字段传参逻辑有调整,对应修改占位符规则即可。

注意:执行表结构变更前建议先备份原有表数据,避免操作失误影响现有业务。

内容的提问来源于stack exchange,提问作者Lewis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 14:27:18