メインコンテンツまでスキップ
メインコンテンツまでスキップ

Azure Synapse と ClickHouse の統合

Azure Synapse は、ビッグデータ、データサイエンス、データウェアハウジングを統合した分析サービスであり、高速で大規模なデータ分析を可能にします。Synapse 内では、Spark プールがオンデマンドでスケーラブルな Apache Spark クラスターを提供し、ユーザーは複雑なデータ変換、機械学習、外部システムとの統合を実行できます。

この記事では、Azure Synapse 内で Apache Spark を使用する際に ClickHouse Spark コネクタ を統合する方法を示します。

コネクタの依存関係の追加

Azure Synapse は、三つのレベルの パッケージ管理 をサポートしています。

  1. デフォルトパッケージ
  2. Spark プールレベル
  3. セッションレベル

Apache Spark プールのライブラリ管理ガイド を参照し、次の必須依存関係を Spark アプリケーションに追加してください。

  • clickhouse-spark-runtime-{spark_version}_{scala_version}-{connector_version}.jar - 公式 maven
  • clickhouse-jdbc-{java_client_version}-all.jar - 公式 maven

あなたのニーズに適したバージョンを理解するために、Spark コネクタ互換性マトリックス のドキュメントを訪れてください。

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"
    }
}

これが最初のセルであることを確認してください:

ノートブック経由での Spark 構成の設定

追加の設定については、ClickHouse Spark 構成ページ を訪れてください。

参考

ClickHouse Cloud を使用している場合は、必要な Spark 設定 を設定することを確認してください。

セットアップの確認

依存関係と構成が正しく設定されたかを確認するために、セッションの Spark UI を訪れ、Environment タブに移動してください。そこに、ClickHouse に関連する設定を探してください:

Spark UI を使用して ClickHouse の設定を確認する

追加リソース