UpdateSnowflakeTable 2025.10.2.19

捆绑包

com.snowflake.openflow.runtime | runtime-snowflake-processors-nar

描述

根据传入 FlowFile 中提供的架构更新 Snowflake 表的定义。无论架构是通过 FlowFile 内容提供,还是指定为属性,都应为 JSON 格式,格式如下:{ "columns": [ { "name": "<column name>", "type": "<column type>", "nullable": <true/false>, "precision": <only for numeric type>, "scale": <only for numeric type> }, ... ], "primaryKeys": ["<name of first primary key column>", "<name of second primary key column>", ...] } 此处理器支持仅限表的操作:创建、修改和删除表。

标签

alter、columns、create、ddl、drop、preview、snowflake、table、update

输入要求

REQUIRED

支持敏感的动态属性

false

属性

属性

描述

添加列策略

当传入架构的列在现有表中不存在时使用的策略

Add Not Null Strategy

当传入架构具有现有表中不存在的非空约束条件时使用的策略

更改列类型策略

当现有表的列类型与传入架构不同时应使用的策略。

Column Name Transformation

一种可选转换,可以应用于架构中定义的列的名称。在将列名称与表中的现有列进行比较之前,将此转换应用于列名称。除了属性外,此属性还可以通过表达式语言引用以下变量:column.namecolumn.typecolumn.nullablecolumn.precisioncolumn.scalecolumn.primaryKey。基于该属性应用转换的结果将根据 Object Name Handling 属性的设置进行处理。

Column Removal Strategy

当现有表的列在传入架构中不存在时使用的策略

连接池

用于连接到 Snowflake 的连接池

Creation Parameters

要包含在 CREATE TABLE 语句中的其他参数。例如,“CLUSTER BY (column_name)”

所需架构

所需的架构/表定义

删除列策略

当现有表的列在传入架构中不存在时使用的策略

Drop Not Null Strategy

当现有表具有传入架构中不存在的非空约束条件时使用的策略

包括默认值

是否在 CREATE TABLE 或 ALTER TABLE ADD COLUMN 语句中包含 DEFAULT 值

Include Not Null Constraints

是否在 CREATE TABLE 或 ALTER TABLE ADD COLUMN 语句中包含 NOT NULL 约束条件

Include Primary Key Constraints

是否在创建语句中包含主键约束条件

最大批处理大小

给定表在一次执行中可以处理的最大 FlowFiles 数量。

Modify Primary Key Strategy

当传入架构的主键与现有主键不同时使用的策略。修改主键需要删除现有主键(如有),然后添加一个新主键。

对象标识符解析

控制在 Snowflake 中源对象标识符(架构、表、列)的存储和查询方式。此设置决定您在 SQL 查询中是否需要使用双引号。

记录读取器

用于获取所需架构的记录读取器

Removed Column Name Suffix

要附加到已删除列的后缀。例如,要将列 'foo' 重命名为 'foo__deleted',可以将该属性设置为 __deleted。此属性值的行为将因 Object Name Handling 属性的值而异,例如,如果 Object Name Handling 设置为 Case Sensitive Name,则会原样追加后缀。如果将 Object Name Handling 设置为 SQL Identifier,则后缀和必须仅包含字母、数字、美元符号 ($) 和下划线 (_) 字符。此外,它将根据所追加的列名是区分大小写(加双引号)还是不区分大小写(未加双引号),分别以区分大小写或不区分大小写的方式追加。

架构名称

包含表的架构名称

表元数据缓存到期时间

移除缓存条目的时间(秒)

表名称

要更新的表的名称

表架构策略

指定如何获取所需的架构/表定义

Update Type

要执行的表更新类型

使用表元数据缓存

是否缓存表的元数据,而不是直接从 Snowflake 读取。适用于 [Create Table If Not Exists, Alter Table]

关系

名称

描述

failure

如果无法更新表,则传入的 FlowFile 将路由到此关系

success

成功更新表后,则传入的 FlowFile 将路由到此关系

写入属性

名称

描述

schema.hash

在所有更新完成后,对最终表模式进行 SHA-256 哈希。可用于变更检测和缓存。

语言: 中文