MergeSnowflakeJournalTable
MergeSnowflakeJournalTable
저널 테이블의 변경 사항을 Snowflake의 대상 테이블로 병합(merge)하는 작업을 촉발하는 프로세서예요. 병합 작업은 비동기적으로 수행되며 프로세서는 작업 결과를 폴링해요. 쿼리가 아직 진행 중이면 FlowFile에 penalty가 적용돼요.
출처: Snowflake 문서
본문
기능 — 일반 제공(Generally Available)
Openflow Snowflake 배포는 AWS, Azure, GCP Commercial 리전의 모든 계정에서 사용할 수 있어요. Openflow BYOC 배포는 AWS Commercial 리전의 모든 계정에서 사용할 수 있어요.
Bundle
com.snowflake.openflow.runtime | runtime-database-cdc-processors-nar
설명 (Description)
저널 테이블의 변경 사항을 Snowflake의 대상 테이블로 병합하는 작업을 촉발해요. 병합 작업은 비동기적으로 수행되며 프로세서는 작업 결과를 폴링해요. 쿼리가 아직 진행 중이면 FlowFile에 penalty가 적용돼요.
태그 (Tags)
없음
입력 요구사항 (Input Requirement)
REQUIRED (필수)
민감한 동적 속성 지원 (Supports Sensitive Dynamic Properties)
false
속성 (Properties)
| Property | Description |
|---|---|
| Destination Database Name | 데이터가 수집되고 있는 Snowflake 데이터베이스의 이름이에요. |
| Merge Query Retry Count | 병합 쿼리가 실패하면 몇 번 재시도해야 하는지 나타내요. |
| Object Identifier Resolution | Snowflake에서 소스 객체 식별자(schemas, tables, columns)를 저장하고 쿼리하는 방법을 제어해요. 이 설정은 SQL 쿼리에서 큰따옴표를 사용해야 하는지 여부를 결정해요. ‘Case-Sensitive’ 옵션이 기본값이자 프로덕션 동작이고, ‘Case-Insensitive’는 현재 프리뷰로 간주돼요. |
| Placeholder Value | MERGE에서 찾을 payload placeholder의 값이에요. 대상 열의 데이터 유형으로 변환돼요. |
| Snowflake Connection Pool | 병합 작업을 수행하기 위해 Snowflake 데이터베이스에 대한 연결을 얻는 데 사용하는 Controller Service예요. |
| Unchanged Value Strategy | MERGE 쿼리가 저널 열의 변경되지 않은 값을 처리하는 방법을 결정해요. 기본적으로 전체 값을 기대해요. |
관계 (Relationships)
| Name | Description |
|---|---|
| ddl | 실행할 DDL이에요. |
| deleted during compaction | 테이블 이름과 generation을 기준으로 압축 중 삭제된 FlowFile이에요. |
| failure | 실패한 쿼리 실행이에요. |
| failure retry | 재시도할 실패한 쿼리 실행이에요. |
| poll query result | 예약된 비동기 쿼리 실행이에요. |
| success | 성공한 쿼리 실행이에요. |
| unknown file type | 알 수 없는 파일 유형이에요. |
쓰기 속성 (Writes attributes)
| Name | Description |
|---|---|
| merge.query.id | 저널 테이블을 대상 테이블로 병합하는 데 사용되는 쿼리의 ID예요. |