Snowflake High Performance connector for Kafka¶
이 항목에서는 |KAFKAOFHP|의 기본 개념, 사용 사례 및 이점, 주요 기능, 제한 사항에 대해 설명합니다.
참고
|KAFKAOFHP|는 Kafka 항목에서 데이터를 읽고 해당 데이터를 Snowflake 테이블에 로드하는 싱크 커넥터`입니다. Kafka Connect 및 해당 프레임워크에 대한 자세한 내용은 :doc:`aboutkafkaconnect 섹션을 참조하세요.
이점¶
|KAFKAOFHP|는 거의 실시간 인사이트가 필요한 현대적인 데이터 집약형 조직을 위해 설계된 Snowflake의 :doc:`고성능 Snowpipe Streaming 아키텍처</user-guide/snowpipe-streaming/snowpipe-streaming-high-performance-overview>`를 활용합니다. 이 차세대 아키텍처는 Snowflake로의 실시간 수집을 위한 처리량, 효율성, 유연성을 크게 향상합니다.
고성능 아키텍처는 다음과 같은 몇 가지 주요 이점을 제공합니다.
우수한 처리량 및 대기 시간: 테이블당 최대 10GB/초의 수집 속도를 지원하도록 설계되었으며, 엔드 투 엔드 수집부터 쿼리까지의 대기 시간을 5~10초 이내로 유지하여 거의 실시간으로 분석할 수 있습니다.
간단한 청구: 비용을 보다 예측 가능하고 이해하기 쉽게 만드는 투명한 처리량 기반 청구를 제공합니다.
향상된 성능: 이전 구현에 비해 개선된 클라이언트 측 성능 및 더 낮은 리소스 사용량을 제공하는 러스트 기반 클라이언트 코어를 사용합니다.
전송 중 변환: PIPE 오브젝트 내에서 COPY 명령 구문을 사용하여 수집 중 데이터 정리 및 재형성을 지원하므로 대상 테이블에 도달하기 전에 데이터를 변환할 수 있습니다.
서버 측 스키마 유효성 검사: PIPE 오브젝트를 통해 클라이언트 측에서 서버 측으로 스키마 유효성 검사를 이동하여 데이터 품질을 보장하고 클라이언트 복잡성을 줄입니다.
사전 클러스터링 기능: 대상 테이블에 클러스터링 키가 정의되어 있는 경우 수집 중에 데이터를 클러스터링할 수 있으므로 수집 후 유지 관리 없이 쿼리 성능을 개선할 수 있습니다.
커넥터는 수집 관리를 위한 중앙 구성 요소로 Snowflake PIPE 오브젝트를 사용합니다. PIPE 오브젝트는 모든 스트리밍 데이터의 진입점 및 정의 계층 역할을 수행하여 데이터가 대상 테이블에 커밋되기 전에 어떻게 처리 및 변환되고 유효성 검사가 이루어지는지 정의합니다. 커넥터가 테이블 및 파이프에서 작동하는 방식에 대한 자세한 내용은 커넥터가 테이블 및 파이프에서 작동하는 방식 섹션을 참조하세요.
커넥터 버전 선택하기¶
Kafka 커넥터는 Kafka Connect 클러스터에서 실행되어 Kafka 항목에서 데이터를 읽고 Snowflake 테이블에 씁니다.
Snowflake는 두 가지 커넥터 버전을 제공합니다. 두 버전의 커넥터 모두 Kafka에서 Snowflake로 데이터를 스트리밍하기 위한 동일한 핵심 기능을 제공합니다.
커넥터의 Confluent 버전
Kafka용 고성능 Snowflake Connector는 아직 Confluent Cloud에서 사용할 수 없습니다. Confluent Cloud를 사용하는 경우 커넥터를 사용자 지정 플러그인 커넥터로 수동 설치해야 합니다.
Confluent 버전은 Confluent Hub 또는 Confluent Control Center를 통해 설치할 수 있도록 zip 파일로 패키징되며 커넥터를 실행하는 데 필요한 모든 외부 라이브러리를 포함합니다.
Confluent Platform 또는 Confluent Cloud를 사용하는 경우 이 버전을 선택합니다.
Confluent 버전의 커넥터를 다운로드하여 설치하려면 Snowflake 지원에 문의하세요.
자세한 내용은 `Kafka Connect<https://docs.confluent.io/current/connect/>`_를 참조하세요.
커넥터의 OSS Apache Kafka 버전
`오픈 소스 소프트웨어(OSS) Apache Kafka 패키지<https://mvnrepository.com/artifact/com.snowflake/snowflake-kafka-connector/>`_에서 제공됩니다.
Apache 버전은 표준 JAR 파일로 배포되며, Apache Kafka Connect 클러스터에 수동으로 설치해야 합니다. 이 버전에는 별도로 다운로드해야 하는 `Bouncy Castle<https://www.bouncycastle.org/>`_ 암호화 라이브러리가 필요합니다.
자세한 내용은 `Apache Kafka<https://kafka.apache.org/>`_를 참조하세요.
Apache Iceberg™ 테이블에 커넥터 사용하기¶
커넥터는 데이터를 Snowflake 관리 Apache Iceberg™ 테이블</user-guide/tables-iceberg>`로 수집할 수 있습니다. Iceberg 테이블 수집을 위해 Kafka 커넥터를 구성하기 전에 Iceberg 테이블을 생성해야 합니다. 자세한 내용은 :ref:`label-kafkahp_connector_with_iceberg_tables_create_iceberg_table 섹션을 참조하십시오.
제한 사항¶
|KAFKAOFHP|에는 다음과 같은 제한 사항이 있습니다.
- Apache Iceberg™ 테이블 및 스키마 진화
커넥터는 Apache Iceberg™ 테이블에 대한 스키마 진화를 지원하지 않습니다.
- 버전 3.x 이하에서의 기존 파이프라인 마이그레이션
커넥터는 버전 3.x 이하에서 기존 파이프라인의 마이그레이션을 지원하지 않습니다. 기존 파이프라인을 새 커넥터로 수동으로 마이그레이션해야 합니다. 기존 파이프라인이 이 커넥터에서 아직 사용할 수 없는 기능을 사용하지 않는지 확인합니다.
- 단일 메시지 변환(SMTs):
대부분의 단일 메시지 변환(SMTs)은 커뮤니티 변환기를 사용할 때 지원되지만, 현재 지원되지 않는 ``regex.router``는 예외입니다.
- 손상된 일부 레코드는 커넥터에 의해 데드 레터 큐(DLQ)로 전송되지 않음
errors.tolerance=all및 ``errors.deadletterqueue.topic.name``이 구성된 경우 커넥터는 **최대 한 번**의 전달을 보장합니다. 변환할 수 없는 레코드만 Kafka Connect를 통해 DLQ로 전송됩니다. Snowflake 수집에 실패한 레코드는 해당 위치로 라우팅되지 않습니다. Snowpipe Streaming은 실패한 레코드는 감지할 수 있지만, 특정 레코드는 감지할 수 없습니다.- 수집에 실패한 손상된 레코드는 수동으로 다시 시도해야 함
errors.tolerance=none및rows_error_count``가 증가하면 커넥터 작업에 실패합니다. 손상된 레코드를 다시 시도하려면 채널 기록을 검토하여 손상된 레코드를 찾습니다. 손상된 레코드 및 수집 오류 문제 해결에 대한 자세한 내용은 :doc:`오류 처리</user-guide/snowpipe-streaming/snowpipe-streaming-high-performance-error-handling>`를 참조하세요. :ref:`label-detect_and_recover_from_errors_using_metadata_offsets`에 설명된 대로 갭 찾기 기법을 사용할 수도 있습니다. 이 기법을 사용하는 데 필요한 Kafka 오프셋 정보는 ``RECORD_METADATA열에서 제공됩니다.
커넥터의 내결함성 제한 사항¶
Kafka 항목은 저장 공간 또는 보존 시간에 대한 제한으로 구성될 수 있습니다.
시스템이 보존 시간 이상 동안 오프라인 상태로 유지되면 만료된 레코드는 로드되지 않습니다. 유사하게 Kafka의 저장소 공간 제한이 초과되면 일부 메시지가 전달되지 않습니다.
Kafka 항목의 메시지가 삭제 또는 업데이트되는 경우 해당 변경 사항이 Snowflake 테이블에 반영되지 않을 수 있습니다.
SMTs에 대한 자세한 내용은 `Confluent Cloud 또는 Confluent Platform용 Kafka Connect 단일 메시지 변환<https://docs.confluent.io/current/connect/transforms/index.html>`_을 참조하세요.
커넥터에 대한 Snowflake 지원¶
다음 테이블에서는 지원되는 버전 및 사전 릴리스와 릴리스 후보에 대한 정보를 설명합니다.
릴리스 시리즈 |
상태 |
참고 |
|---|---|---|
4.x.x |
비공개 미리 보기 |
조기 액세스. 현재 3.x 및 2.x 버전에서의 마이그레이션은 지원되지 않습니다. |
3.x.x |
공식적으로 지원됨 |
최신 버전이며 적극 권장합니다. |
2.x.x |
공식적으로 지원됨 |
업그레이드를 권장합니다. |
1.x.x |
지원되지 않음 |
다음 기능은 지원되지 않습니다.
미리 보기 버전의 주요 변경 사항¶
주요 변경 사항 목록은 미리 보기 버전의 릴리스 정보를 참조하세요.
다음 단계¶
커넥터가 테이블 및 파이프에서 작동하는 방식에 대한 자세한 내용은 커넥터의 작동 방식<how-the-connector-works>`을 참조하세요. :newline:.` Snowflake High Performance connector for Kafka 설정 단계에 대한 |KAFKAOFHP|에 대한 작업 설정 항목을 참조하세요.