> ## 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.

> ClickHouse와 함께 사용하는 Azure Synapse 소개

# Azure Synapse와 ClickHouse 통합

export const ClickHouseSupportedBadge = () => {
  return <div className="ClickHouseSupportedBadge">
            <div className="ClickHouseSupportedIcon">
                <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                    <path d="M1.30762 1.39073C1.30762 1.3103 1.37465 1.22986 1.46849 1.22986H2.64824C2.72868 1.22986 2.80912 1.29689 2.80912 1.39073V14.4886C2.80912 14.5691 2.74209 14.6495 2.64824 14.6495H1.46849C1.38805 14.6495 1.30762 14.5825 1.30762 14.4886V1.39073Z" fill="currentColor" />
                    <path d="M4.2832 1.39073C4.2832 1.3103 4.35023 1.22986 4.44408 1.22986H5.62383C5.70427 1.22986 5.7847 1.29689 5.7847 1.39073V14.4886C5.7847 14.5691 5.71767 14.6495 5.62383 14.6495H4.44408C4.36364 14.6495 4.2832 14.5825 4.2832 14.4886V1.39073Z" fill="currentColor" />
                    <path d="M7.25977 1.39073C7.25977 1.3103 7.3268 1.22986 7.42064 1.22986H8.60039C8.68083 1.22986 8.76127 1.29689 8.76127 1.39073V14.4886C8.76127 14.5691 8.69423 14.6495 8.60039 14.6495H7.42064C7.3402 14.6495 7.25977 14.5825 7.25977 14.4886V1.39073Z" fill="currentColor" />
                    <path d="M10.2354 1.39073C10.2354 1.3103 10.3024 1.22986 10.3962 1.22986H11.576C11.6564 1.22986 11.7369 1.29689 11.7369 1.39073V14.4886C11.7369 14.5691 11.6698 14.6495 11.576 14.6495H10.3962C10.3158 14.6495 10.2354 14.5825 10.2354 14.4886V1.39073Z" fill="currentColor" />
                    <path d="M13.2256 6.6057C13.2256 6.52526 13.2926 6.44482 13.3865 6.44482H14.5662C14.6466 6.44482 14.7271 6.51186 14.7271 6.6057V9.27354C14.7271 9.35398 14.6601 9.43442 14.5662 9.43442H13.3865C13.306 9.43442 13.2256 9.36739 13.2256 9.27354V6.6057Z" fill="currentColor" />
                </svg>
            </div>
            ClickHouse 지원
        </div>;
};

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

<ClickHouseSupportedBadge />

[Azure Synapse](https://azure.microsoft.com/en-us/products/synapse-analytics)는 빅데이터, 데이터 과학, 데이터 웨어하우징을 결합하여 빠르고 대규모 데이터 분석을 지원하는 통합 분석 서비스입니다.
Synapse에서 Spark 풀은 필요에 따라 확장 가능한 [Apache Spark](https://spark.apache.org) 클러스터를 제공하므로, 복잡한 데이터 변환, 머신 러닝, 외부 시스템과의 통합을 실행할 수 있습니다.

이 문서에서는 Azure Synapse에서 Apache Spark를 사용할 때 [ClickHouse Spark 커넥터](/docs/ko/integrations/connectors/data-ingestion/apache-spark/spark-native-connector)를 연동하는 방법을 설명합니다.

<div id="add-connector-dependencies">
  ## 커넥터의 종속성 추가
</div>

Azure Synapse는 [패키지 관리](https://learn.microsoft.com/en-us/azure/synapse-analytics/spark/apache-spark-azure-portal-add-libraries)를 다음 3개 수준에서 지원합니다:

1. 기본 패키지
2. Spark 풀 수준
3. 세션 수준

<br />

[Apache Spark 풀용 라이브러리 관리 가이드](https://learn.microsoft.com/en-us/azure/synapse-analytics/spark/apache-spark-manage-pool-packages)를 따라 Spark 애플리케이션에 다음 필수 종속성을 추가하세요.

* `clickhouse-spark-runtime-{spark_version}_{scala_version}-{connector_version}.jar` - [공식 Maven](https://mvnrepository.com/artifact/com.clickhouse.spark)
* `clickhouse-jdbc-{java_client_version}-all.jar` - [공식 Maven](https://mvnrepository.com/artifact/com.clickhouse/clickhouse-jdbc)

요구 사항에 맞는 버전을 확인하려면 [Spark Connector 호환성 매트릭스](/docs/ko/integrations/connectors/data-ingestion/apache-spark/spark-native-connector#compatibility-matrix) 문서를 참조하십시오.

<div id="add-clickhouse-as-catalog">
  ## ClickHouse를 catalog로 추가
</div>

세션에 Spark 구성을 추가하는 방법은 여러 가지가 있습니다:

* 세션과 함께 로드할 사용자 지정 설정 파일
* Azure Synapse UI를 통해 구성 추가
* Synapse 노트북에서 구성 추가

다음 [Apache Spark 구성 관리](https://learn.microsoft.com/en-us/azure/synapse-analytics/spark/apache-spark-azure-create-spark-configuration)를 참고하여
[커넥터에 필요한 Spark 구성](/docs/ko/integrations/connectors/data-ingestion/apache-spark/spark-native-connector#register-the-catalog-required)을 추가하십시오.

예를 들어, 노트북에서 다음 설정으로 Spark 세션을 구성할 수 있습니다:

```python theme={null}
%%configure -f
{
    "conf": {
        "spark.sql.catalog.clickhouse": "com.clickhouse.spark.ClickHouseCatalog",
        "spark.sql.catalog.clickhouse.host": "<clickhouse host>",
        "spark.sql.catalog.clickhouse.protocol": "https",
        "spark.sql.catalog.clickhouse.http_port": "<port>",
        "spark.sql.catalog.clickhouse.user": "<username>",
        "spark.sql.catalog.clickhouse.password": "password",
        "spark.sql.catalog.clickhouse.database": "default"
    }
}
```

다음과 같이 첫 번째 셀에 표시되는지 확인하십시오:

<Image img="https://mintcdn.com/private-7c7dfe99/Rm4A9_kDxZf0ApeE/images/integrations/data-ingestion/azure-synapse/spark_notebook_conf.webp?fit=max&auto=format&n=Rm4A9_kDxZf0ApeE&q=85&s=f45f76cb318c0c65a1ecae90edd158e8" size="xl" alt="노트북에서 Spark 구성 설정" border width="1255" height="407" data-path="images/integrations/data-ingestion/azure-synapse/spark_notebook_conf.webp" />

추가 설정은 [ClickHouse Spark configurations page](/docs/ko/integrations/connectors/data-ingestion/apache-spark/spark-native-connector#configurations)를 참조하십시오.

<Info>
  ClickHouse Cloud를 사용하는 경우 [필수 Spark 설정](/docs/ko/integrations/connectors/data-ingestion/apache-spark/spark-native-connector#clickhouse-cloud-settings)을 반드시 지정하십시오.
</Info>

<div id="setup-verification">
  ## 설정 확인
</div>

의존성과 구성이 성공적으로 설정되었는지 확인하려면 현재 세션의 Spark UI로 이동한 후 `Environment` 탭을 여십시오.
여기에서 ClickHouse 관련 설정을 찾으십시오:

<Image img="https://mintcdn.com/private-7c7dfe99/Rm4A9_kDxZf0ApeE/images/integrations/data-ingestion/azure-synapse/spark_ui_ch_settings.webp?fit=max&auto=format&n=Rm4A9_kDxZf0ApeE&q=85&s=954767d8d40dedc2823122451bba4ddd" size="xl" alt="Spark UI를 사용한 ClickHouse 설정 확인" border width="1499" height="280" data-path="images/integrations/data-ingestion/azure-synapse/spark_ui_ch_settings.webp" />

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

* [ClickHouse Spark 커넥터 문서](/docs/ko/integrations/connectors/data-ingestion/apache-spark/index)
* [Azure Synapse Spark 풀 개요](https://learn.microsoft.com/en-us/azure/synapse-analytics/spark/apache-spark-overview)
* [Apache Spark 워크로드 성능 최적화](https://learn.microsoft.com/en-us/azure/synapse-analytics/spark/apache-spark-performance)
* [Synapse에서 Apache Spark 풀 라이브러리 관리](https://learn.microsoft.com/en-us/azure/synapse-analytics/spark/apache-spark-manage-pool-packages)
* [Synapse에서 Apache Spark 구성 관리](https://learn.microsoft.com/en-us/azure/synapse-analytics/spark/apache-spark-azure-create-spark-configuration)
