JSON/AVRO 데이터 형식을 위한 Apache Kafka¶
참고
커넥터에는 커넥터 약관 이 적용됩니다.
이 항목에서는 JSON 및 AVRO 데이터 형식을 위한 Apache Kafka 커넥터에 대해 설명합니다. 스키마 진화 및 항목 간 매핑 테이블 기능을 갖춘 기본 메시지 수집에 최적화된 간소화된 커넥터입니다.
커넥터 베리언트¶
JSON 데이터 형식 커넥터¶
JSON 데이터 형식 커넥터는 Kafka 항목에서 Snowflake 테이블로의 간단한 JSON 메시지 수집을 위해 설계되었습니다.
주요 기능:
JSON 메시지 형식 지원
스키마 진화
항목와 테이블 간 매핑
SASL 인증
AVRO 데이터 형식 커넥터¶
AVRO 데이터 형식 커넥터는 Schema Registry 지원을 통해 Kafka 항목에서 Snowflake 테이블로의 AVRO 메시지 수집을 위해 설계되었습니다.
주요 기능:
AVRO 메시지 형식 지원
Schema Registry 통합
스키마 진화
항목와 테이블 간 매핑
SASL 인증
특정 매개 변수¶
Kafka용 Openflow Connector 설정하기 에 설명된 일반적인 매개 변수 외에도 이러한 커넥터에는 특정 매개 변수 컨텍스트가 있습니다.
Schema Registry 매개 변수(AVRO 커넥터만 해당)¶
AVRO 커넥터에는 Schema Registry 통합을 위한 추가 매개 변수가 포함되어 있습니다.
매개 변수 |
설명 |
필수 |
---|---|---|
Schema Registry 인증 유형 |
Schema Registry를 사용하는 경우 Schema Registry에 인증하는 방법입니다. 그렇지 않으면 NONE 을 사용하십시오. NONE / BASIC 중 하나. 기본값: NONE |
예 |
Schema Registry URL |
Schema Registry의 URL 입니다. AVRO 메시지 형식에 필수. |
아니요 |
Schema Registry 사용자 이름 |
Schema Registry의 사용자명입니다. AVRO 메시지 형식에 필수. |
아니요 |
Schema Registry 비밀번호 |
Schema Registry의 비밀번호입니다. AVRO 메시지 형식에 필수. |
아니요 |
AVRO Schema Access Strategy |
메시지의 AVRO 스키마에 액세스하는 방법입니다. AVRO 에 필수. 다음 중 하나: embedded-avro-schema / schema-reference-reader / schema-text-property. 기본값: embedded-avro-schema |
아니요 |
AVRO 스키마 |
AVRO 메시지 형식의 AVRO Schema Access Strategy에서 schema-text-property를 사용하는 경우의 Avro 스키마. 참고: 구성된 Kafka 항목에서 소비되는 모든 메시지가 동일한 스키마를 공유하는 경우에만 이 옵션을 사용해야 합니다. |
아니요 |
제한 사항¶
이러한 간소화된 커넥터는 모든 기능을 갖춘 DLQ 및 메타데이터 커넥터에 비해 다음과 같은 제한이 있습니다.
RECORD_METADATA 열 없음 - Kafka 메타데이터가 대상 테이블에 저장되지 않습니다
데드 레터 큐(DLQ) 없음 - 실패한 메시지는 DLQ 항목으로 라우팅되지 않습니다
Iceberg 테이블 지원 안 함 - 일반 Snowflake 테이블만 지원됩니다
스키마 수정 - 스키마 감지는 항상 활성화되어 있으며 비활성화할 수 없습니다
참고
이러한 커넥터에서는 스키마 감지가 기본적으로 활성화되어 있으며 비활성화할 수 없습니다. 즉, 메시지 필드가 자동 스키마 진화를 통해 개별 테이블 열로 자동 데이터 스큐됩니다.
사용 사례¶
이 커넥터는 다음과 같은 경우에 이상적입니다.
- 간단한 데이터 수집
Kafka 메타데이터 없이 메시지 내용만 필요한 경우.
- 높은 처리량 시나리오
단순화된 데이터 구조가 성능을 향상시키는 경우.
- 스키마 진화 사용 사례
자동 테이블 스키마 업데이트가 필요한 경우
- JSON 또는 AVRO 메시지 형식
일관된 스키마 사용
Kafka 메타데이터, DLQ 지원 또는 Iceberg 테이블 수집이 필요한 경우, DLQ 및 메타데이터가 포함된 Apache Kafka 커넥터를 대신 사용하십시오.
스키마 탐지 및 진화¶
이 커넥터는 자동 스키마 감지 및 진화를 지원합니다. Snowflake의 테이블 구조는 커넥터가 로딩하는 새로운 데이터의 구조를 지원하기 위해 자동으로 정의되고 진화합니다.
스키마 감지를 활성화하면(항상 이러한 커넥터의 경우), Snowflake는 스트리밍 데이터의 스키마를 감지하고 사용자 정의 스키마와 자동으로 일치하는 테이블에 데이터를 로드할 수 있습니다. 또한 Snowflake를 사용해 새로운 열을 추가하거나 새 데이터 파일에 누락된 열에서 NOT NULL
제약 조건을 삭제할 수도 있습니다.
커넥터를 통한 스키마 감지는 제공된 Schema Registry의 유무에 관계없이 지원됩니다. Schema Registry(Avro)를 사용하는 경우 제공된 Schema Registry에 정의된 데이터 타입으로 열이 생성됩니다. 스키마 레지스트리(JSON)가 없으면 제공된 데이터를 기반으로 데이터 타입이 유추됩니다.
추가적인 스키마화에는 JSON ARRAY가 지원되지 않습니다.
스키마 진화 동작¶
커넥터가 대상 테이블을 생성하면 스키마 진화는 기본적으로 활성화됩니다.
기존 테이블에서 스키마 진화를 사용하거나 사용하지 않으려면 ALTER TABLE 명령을 사용하여 ENABLE_SCHEMA_EVOLUTION
매개 변수를 설정합니다. 또한 테이블에 대한 OWNERSHIP
권한이 있는 역할을 사용해야 합니다. 자세한 내용은 테이블 스키마 진화 섹션을 참조하십시오.