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 version of the connector

    Kafka용 고성능 Snowflake Connector는 아직 Confluent Cloud에서 사용할 수 없습니다. Confluent Cloud를 사용하는 경우 커넥터를 사용자 지정 플러그인 커넥터로 수동 설치해야 합니다.

    The Confluent version is packaged as a zip file for installation through Confluent Hub or Confluent Control Center and includes all external libraries required to run the connector.

    Choose this version if you’re using the Confluent Platform or Confluent Cloud.

    Confluent 버전의 커넥터를 다운로드하여 설치하려면 Snowflake 지원에 문의하세요.

    For more information, see Kafka Connect.

  • OSS Apache Kafka version of the connector

    `오픈 소스 소프트웨어(OSS) Apache Kafka 패키지<https://mvnrepository.com/artifact/com.snowflake/snowflake-kafka-connector/>`_에서 제공됩니다.

    The Apache version is distributed as a standard fat JAR file and requires manual installation into your Apache Kafka Connect cluster. This version requires Bouncy Castle cryptography libraries that must be downloaded separately.

    For more information, see Apache Kafka.

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 이하에서의 기존 파이프라인 마이그레이션

The connector does not support migration of the existing pipelines from version 3.x and earlier. You must manually migrate the existing pipelines to the new connector. Ensure that existing pipelines don’t rely on any features that are not yet available with this connector.

단일 메시지 변환(SMTs):

대부분의 단일 메시지 변환(SMTs)은 커뮤니티 변환기를 사용할 때 지원되지만, 현재 지원되지 않는 ``regex.router``는 예외입니다.

Not all broken records are sent to Dead Letter Queue (DLQ) by the connector

errors.tolerance=all``errors.deadletterqueue.topic.name``이 구성된 경우 커넥터는 **최대 한 번**의 전달을 보장합니다. 변환할 수 없는 레코드만 Kafka Connect를 통해 DLQ로 전송됩니다. Snowflake 수집에 실패한 레코드는 해당 위치로 라우팅되지 않습니다. Snowpipe Streaming은 실패한 레코드는 감지할 수 있지만, 특정 레코드는 감지할 수 없습니다.

수집에 실패한 손상된 레코드는 수동으로 다시 시도해야 함

When errors.tolerance=none and rows_error_count increases, the connector task fails. To retry broken records, review the channel history to find the broken records. For more information about troubleshooting broken records and ingestion errors see error handling. You can also use gap finding technique described in 메타데이터 오프셋을 사용하여 오류 감지 및 복구. Kafka offset information needed to use this technique is available in the RECORD_METADATA column.

커넥터의 내결함성 제한 사항

Kafka 항목은 저장 공간 또는 보존 시간에 대한 제한으로 구성될 수 있습니다.

  • 시스템이 보존 시간 이상 동안 오프라인 상태로 유지되면 만료된 레코드는 로드되지 않습니다. 유사하게 Kafka의 저장소 공간 제한이 초과되면 일부 메시지가 전달되지 않습니다.

  • Kafka 항목의 메시지가 삭제 또는 업데이트되는 경우 해당 변경 사항이 Snowflake 테이블에 반영되지 않을 수 있습니다.

SMTs에 대한 자세한 내용은 `Confluent Cloud 또는 Confluent Platform용 Kafka Connect 단일 메시지 변환<https://docs.confluent.io/current/connect/transforms/index.html>`_을 참조하세요.

Snowflake support for the connector

The following table describes the supported versions and information about pre-release and release candidates.

릴리스 시리즈

상태

참고

4.x.x

비공개 미리 보기

Early access. Currently the migration from 3.x and 2.x is not supported.

3.x.x

공식적으로 지원됨

최신 버전이며 적극 권장합니다.

2.x.x

공식적으로 지원됨

업그레이드를 권장합니다.

1.x.x

지원되지 않음

다음 기능은 지원되지 않습니다.

Breaking changes in the Preview version

See the release notes for the Preview versions for a list of breaking changes

다음 단계

Review how the connector works topic for more information about how the connector works with tables and pipes. . Review |KAFKAOFHP|에 대한 작업 설정 topic for the steps to set up the Snowflake High Performance connector for Kafka.