> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> Estuary 통합을 통해 다양한 소스를 ClickHouse로 스트리밍합니다

# Estuary를 ClickHouse에 연결하기

export const PartnerBadge = () => {
  return <div className="PartnerBadge">
            <div className="PartnerBadgeIcon">
                <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                    <polyline points="12.5 9.5 10 12 6 11 2.5 8.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                    <polyline points="4.54 4.41 8 3.5 11.46 4.41" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                    <path d="M2.15,3.78 L0.55,6.95 A0.5,0.5 0,0,0 0.77,7.62 L2.5,8.5 L4.54,4.41 L2.82,3.55 A0.5,0.5 0,0,0 2.15,3.78 Z" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                    <path d="M13.5,8.5 L15.23,7.62 A0.5,0.5 0,0,0 15.45,6.95 L13.85,3.78 A0.5,0.5 0,0,0 13.18,3.55 L11.46,4.41 Z" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                    <path d="M11.5,4.5 L9,4.5 L6.15,7.27 A0.5,0.5 0,0,0 6.24,8.05 C7.33,8.74 8.81,8.72 10,7.5 L12.5,9.5 L13.5,8.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                    <polyline points="7.75 13.5 5.15 12.85 3.5 11.67" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                </svg>
            </div>
            파트너 통합
        </div>;
};

<PartnerBadge />

[Estuary](https://estuary.dev/)는 설정이 간편한 ETL 파이프라인에서 실시간 데이터와 Batch 데이터를 유연하게 결합하는 적시 데이터 플랫폼입니다. 엔터프라이즈급 보안과 다양한 배포 옵션을 바탕으로 SaaS, 데이터베이스, 스트리밍 소스의 데이터를 ClickHouse를 비롯한 여러 대상에 안정적으로 전달할 수 있도록 지원합니다.

Estuary는 Kafka ClickPipe를 통해 ClickHouse에 연결됩니다. 이 통합을 사용하면 자체 Kafka 에코시스템을 유지 관리할 필요가 없습니다.

<div id="setup-guide">
  ## 설정 가이드
</div>

**사전 요구 사항**

* [Estuary 계정](https://dashboard.estuary.dev/register)
* 원하는 소스에서 데이터를 가져오는 Estuary의 하나 이상의 [**capture**](https://docs.estuary.dev/concepts/captures/)
* ClickPipe 권한이 있는 ClickHouse Cloud 계정

<Steps>
  <Step title="Estuary 머티리얼라이즈 생성" id="1-create-an-estuary-materialization">
    Estuary의 소스 컬렉션에서 ClickHouse로 데이터를 이동하려면 먼저 **머티리얼라이즈**를 생성해야 합니다.

    1. Estuary 대시보드에서 [Destinations](https://dashboard.estuary.dev/materializations) 페이지로 이동합니다.

    2. **+ New Materialization**을 클릭합니다.

    3. **ClickHouse** 커넥터를 선택합니다.

    4. Materialization, Endpoint, Source Collections 섹션에서 세부 정보를 입력합니다:

       * **Materialization Details:** 머티리얼라이즈의 고유한 이름을 지정하고 데이터 플레인(클라우드 제공업체 및 리전)을 선택합니다

       * **Endpoint Config:** 보안 **Auth Token**을 입력합니다

       * **Source Collections:** 기존 **capture**를 연결하거나 ClickHouse에 노출할 데이터 컬렉션을 선택합니다

    5. **Next**와 **Save and Publish**를 클릭합니다.

    6. 머티리얼라이즈 세부 정보 페이지에서 ClickHouse 머티리얼라이즈의 전체 이름을 확인합니다. 형식은 `your-tenant/your-unique-name/dekaf-clickhouse`와 비슷합니다.

    Estuary는 선택한 컬렉션을 Kafka 메시지로 스트리밍하기 시작합니다. ClickHouse는 Estuary의 브로커 정보와 제공한 auth token을 사용해 Kafka ClickPipe를 통해 이 데이터에 액세스할 수 있습니다.
  </Step>

  <Step title="Kafka 연결 세부 정보 입력" id="2-enter-kafka-connection-details">
    ClickHouse에서 새 Kafka ClickPipe를 설정하고 연결 세부 정보를 입력합니다:

    1. ClickHouse Cloud 대시보드에서 **Data sources**를 선택합니다.

    2. 새 **ClickPipe**를 생성합니다.

    3. 데이터 소스로 **Apache Kafka**를 선택합니다.

    4. Estuary의 브로커 및 레지스트리 정보를 사용해 Kafka 연결 세부 정보를 입력합니다:

       * ClickPipe 이름을 입력합니다
       * 브로커에는 `dekaf.estuary-data.com:9092`를 사용합니다
       * 인증은 기본값인 `SASL/PLAIN` 옵션으로 둡니다
       * 사용자에는 Estuary의 전체 머티리얼라이즈 이름(예: `your-tenant/your-unique-name/dekaf-clickhouse`)을 입력합니다
       * 비밀번호에는 머티리얼라이즈에 제공한 auth token을 입력합니다

    5. 스키마 레지스트리 옵션을 켭니다

       * 스키마 URL에는 `https://dekaf.estuary-data.com`을 사용합니다
       * 스키마 키는 브로커 사용자와 동일합니다(머티리얼라이즈 이름)
       * 시크릿은 브로커 비밀번호와 동일합니다(auth token)
  </Step>

  <Step title="수신 데이터 구성" id="3-configure-incoming-data">
    1. Kafka **topics** 중 하나를 선택합니다(Estuary의 데이터 컬렉션 중 하나).

    2. **offset**을 선택합니다.

    3. ClickHouse가 토픽 메시지를 감지합니다. 그런 다음 **Parse information** 섹션으로 이동해 테이블 정보를 구성할 수 있습니다.

    4. 새 테이블을 생성할지, 일치하는 기존 테이블에 데이터를 로드할지 선택합니다.

    5. 소스 필드를 테이블 컬럼에 매핑하고, 컬럼 이름, 유형, 널 허용 여부를 확인합니다.

    6. 마지막 **Details and settings** 섹션에서 전용 데이터베이스 사용자에 대한 권한을 선택할 수 있습니다.

    구성이 완료되면 ClickPipe를 생성합니다.

    ClickHouse는 새 데이터 소스를 프로비저닝하고 Estuary에서 메시지 소비를 시작합니다. 원하는 모든 데이터 컬렉션에서 스트리밍할 수 있도록 필요한 만큼 ClickPipes를 생성합니다.
  </Step>
</Steps>

<div id="additional-resources">
  ## 추가 자료
</div>

Estuary와의 통합 설정에 관해 자세히 알아보려면 Estuary 문서를 참조하십시오:

* Estuary의 [ClickHouse 머티리얼라이즈 문서](https://docs.estuary.dev/reference/Connectors/materialization-connectors/Dekaf/clickhouse/)를 참조하십시오.

* Estuary는 **Dekaf**를 사용해 데이터를 Kafka 메시지 형태로 제공합니다. Dekaf에 대한 자세한 내용은 [여기](https://docs.estuary.dev/guides/dekaf_reading_collections_from_kafka/)에서 확인할 수 있습니다.

* Estuary를 사용해 ClickHouse로 스트리밍할 수 있는 데이터 소스 목록은 [Estuary의 capture connectors](https://docs.estuary.dev/reference/Connectors/capture-connectors/)에서 확인하십시오.
