Azure Synapse は、ビッグデータ、データサイエンス、データウェアハウスを組み合わせ、高速かつ大規模なデータ分析を可能にする統合分析サービスです。 Synapse では、Spark プールによって、オンデマンドでスケーリング可能な Apache Spark クラスターが提供され、複雑なデータ変換、機械学習、外部システムとのインテグレーションを実行できます。
この記事では、Azure Synapse で Apache Spark を使用する際に、ClickHouse Spark コネクタ を統合する方法を紹介します。
コネクタの依存関係を追加する
Azure Synapse では、パッケージ管理が 3 つのレベルでサポートされています。
- 既定のパッケージ
- Spark プール レベル
- セッション レベル
Apache Spark プールのライブラリを管理するガイドに従って、以下の必須の依存関係を Spark アプリケーションに追加してください。
clickhouse-spark-runtime-{spark_version}_{scala_version}-{connector_version}.jar- 公式 Mavenclickhouse-jdbc-{java_client_version}-all.jar- 公式 Maven
要件に適したバージョンを確認するには、Spark Connector Compatibility Matrix のドキュメントを参照してください。
ClickHouse をカタログとして追加する
セッションに Spark の設定を追加する方法はいくつかあります。
- セッションと一緒に読み込むカスタム設定ファイル
- Azure Synapse UI から設定を追加する
- Synapse ノートブックで設定を追加する
こちらの Apache Spark 構成の管理 に従って、コネクタに必要な Spark 設定 を追加します。
たとえば、ノートブックで次の設定を使って Spark セッションを構成できます。
%%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"
}
}最初のセルが次のようになっていることを確認してください。

追加の設定については、ClickHouse Spark 設定ページを参照してください。
セットアップの確認
依存関係と設定が正常に反映されていることを確認するには、セッションの Spark UI にアクセスし、Environment タブを開いてください。
そこで、ClickHouse 関連の設定を確認してください。
