UpdateSnowflakeTable 프로세서

UpdateSnowflakeTable 프로세서

Openflow의 UpdateSnowflakeTable 프로세서는 들어오는 FlowFile의 스키마를 기준으로 Snowflake 테이블 정의를 업데이트하는 데 사용합니다. 이 문서에서 프로세서의 번들, 설명, 속성, 관계 등을 확인할 수 있습니다.

출처: Snowflake 문서

본문

번들 (Bundle)

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

설명 (Description)

들어오는 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>", …] } 이 프로세서는 테이블 생성, 변경, 삭제 같은 테이블 전용 작업을 지원합니다.

태그 (Tags)

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

입력 요구사항 (Input Requirement)

REQUIRED

민감한 동적 속성 지원 (Supports Sensitive Dynamic Properties)

false

속성 (Properties)

속성 (Property) 설명 (Description)
Add Column Strategy 들어오는 스키마에 기존 테이블에는 없는 열이 있을 때 사용할 전략입니다.
Add Not Null Strategy 들어오는 스키마에 기존 테이블에는 없는 not-null 제약이 있을 때 사용할 전략입니다.
Alter Column Type Strategy 기존 테이블의 열 유형이 들어오는 스키마와 다를 때 사용할 전략입니다.
Column Name Transformation 스키마에 정의된 열 이름에 적용할 수 있는 선택적 변환입니다. 이 변환은 열 이름을 테이블의 기존 열과 비교하기 전에 적용됩니다. 이 속성은 속성 외에도 Expression Language를 통해 column.name, column.type, column.nullable, column.precision, column.scale, column.primaryKey 변수를 참조할 수 있습니다. 이 속성을 기반으로 변환을 적용한 결과는 Object Name Handling 속성의 설정에 따라 처리됩니다.
Column Removal Strategy 기존 테이블에 들어오는 스키마에는 없는 열이 있을 때 사용할 전략입니다.
Connection Pool Snowflake에 연결하는 데 사용할 연결 풀입니다.
Creation Parameters CREATE TABLE 문에 포함할 추가 매개변수입니다. 예: CLUSTER BY (column_name)
Desired Schema 원하는 스키마/테이블 정의입니다.
Drop Column Strategy 기존 테이블에 들어오는 스키마에는 없는 열이 있을 때 사용할 전략입니다.
Drop Not Null Strategy 기존 테이블에 들어오는 스키마에는 없는 not-null 제약이 있을 때 사용할 전략입니다.
Include Default Values CREATE TABLE 또는 ALTER TABLE ADD COLUMN 문에 DEFAULT 값을 포함할지 여부입니다.
Include Not Null Constraints CREATE TABLE 또는 ALTER TABLE ADD COLUMN 문에 NOT NULL 제약을 포함할지 여부입니다.
Include Primary Key Constraints 생성 문에 기본 키 제약을 포함할지 여부입니다.
Max Batch Size 주어진 테이블에 대해 단일 실행에서 처리할 수 있는 최대 FlowFile 수입니다.
Modify Primary Key Strategy 들어오는 스키마의 기본 키가 기존 기본 키와 다를 때 사용할 전략입니다. 기본 키를 수정하려면 기존 기본 키(있는 경우)를 삭제하고 새 기본 키를 추가해야 합니다.
Object Identifier Resolution 소스 객체 식별자(스키마, 테이블, 열)가 Snowflake에 저장되고 조회되는 방식을 제어합니다. 이 설정은 SQL 쿼리에서 큰따옴표를 사용해야 하는지 여부를 결정합니다.
Record Reader 원하는 스키마를 얻는 데 사용할 Record Reader입니다.
Removed Column Name Suffix 제거된 열에 추가할 접미사입니다. 예를 들어 열 foo를 foo__deleted로 이름 바꾸려면 이 속성을 __deleted로 설정할 수 있습니다. 이 속성 값은 Object Name Handling 속성 값에 따라 다르게 동작합니다. 즉, Object Name Handling이 Case Sensitive Name으로 설정되면 접미사가 그대로 추가됩니다. Object Name Handling이 SQL Identifier로 설정되면 접미사는 문자, 숫자, 달러 기호($), 밑줄(_) 문자만으로 구성되어야 하며, 추가되는 열 이름이 대소문자 구분 없음(큰따옴표 아님)인지 대소문자 구분(큰따옴표)인지에 따라 대소문자 구분 없이 또는 구분해서 추가됩니다.
Schema Name 테이블이 들어 있는 스키마의 이름입니다.
Table Metadata Cache Expiration Time 캐시 항목이 제거된 후의 시간(초)입니다.
Table Name 업데이트할 테이블의 이름입니다.
Table Schema Strategy 원하는 스키마/테이블 정의를 얻는 방법을 지정합니다.
Update Type 수행할 테이블 업데이트 유형입니다.
Use Table Metadata Cache Snowflake에서 직접 읽는 대신 테이블의 메타데이터를 캐시할지 여부입니다. [Create Table If Not Exists, Alter Table]에 적용됩니다.

관계 (Relationships)

이름 (Name) 설명 (Description)
failure 테이블을 업데이트할 수 없으면 들어오는 FlowFile이 이 관계로 라우팅됩니다.
success 테이블이 성공적으로 업데이트된 후 들어오는 FlowFile이 이 관계로 라우팅됩니다.

기록하는 속성 (Writes attributes)

이름 (Name) 설명 (Description)
schema.hash 모든 업데이트 완료 후 최종 테이블 스키마의 SHA-256 해시입니다. 변경 감지와 캐싱 목적으로 사용할 수 있습니다.

더 알아보기 (Learn more)