ClickHouse と Databricks の統合
ClickHouse Spark コネクタは Databricks とシームレスに連携します。このガイドでは、Databricks 向けのプラットフォーム固有の設定、インストール方法、および利用パターンについて説明します。
Databricks における API の選択
デフォルトでは Databricks は Unity Catalog を使用しており、これにより Spark カタログへの登録がブロックされます。この場合、必ず TableProvider API(フォーマットベースのアクセス)を使用する必要があります。
ただし、No isolation shared アクセスモードでクラスタを作成して Unity Catalog を無効化した場合は、代わりに Catalog API を使用できます。Catalog API は、中央集約的な設定管理とネイティブな Spark SQL との統合を提供します。
| Unity Catalog の状態 | 推奨される API | 備考 |
|---|---|---|
| 有効(デフォルト) | TableProvider API(フォーマットベース) | Unity Catalog が Spark カタログへの登録をブロックする |
| 無効(No isolation shared) | Catalog API | 「No isolation shared」アクセスモードのクラスタが必要 |
Databricks へのインストール
オプション 1: Databricks UI を使用して JAR をアップロードする
-
ランタイム JAR をビルドするか、ダウンロードします。
-
JAR を Databricks ワークスペースにアップロードします:
- Workspace に移動し、目的のフォルダに移動します
- Upload をクリックし、JAR ファイルを選択します
- JAR はワークスペース内に保存されます
-
クラスターにライブラリをインストールします:
- Compute に移動し、対象のクラスターを選択します
- Libraries タブをクリックします
- Install New をクリックします
- DBFS または Workspace を選択し、アップロードした JAR ファイルに移動します
- Install をクリックします


- ライブラリを読み込むため、クラスターを再起動します
オプション 2: Databricks CLI を使用してインストールする
オプション 3: Maven Coordinates(推奨)
-
Databricks ワークスペースに移動します:
- Compute に移動し、クラスタを選択します
- Libraries タブをクリックします
- Install New をクリックします
- Maven タブを選択します
-
Maven coordinates を追加します:
<Image img={require('@site/static/images/integrations/data-ingestion/apache-spark/databricks/databricks-maven-tab.png')} alt="Databricks Maven ライブラリ構成" />
- Install をクリックし、ライブラリを読み込むためにクラスターを再起動します
TableProvider API の使用
Unity Catalog が有効な場合(既定)、Unity Catalog が Spark カタログへの登録をブロックするため、必ず TableProvider API(フォーマットベースのアクセス)を使用する必要があります。クラスターで "No isolation shared" アクセスモードを使用して Unity Catalog を無効にしている場合は、代わりに Catalog API を使用できます。
データの読み込み
- Python
- Scala
データの書き込み
- Python
- Scala
この例では、Databricks でシークレットスコープがあらかじめ設定されていることを前提としています。設定手順については、Databricks の Secret management documentation を参照してください。
Databricks 固有の注意事項
シークレット管理
ClickHouse の認証情報を安全に保存するには、Databricks のシークレットスコープを使用します。
セットアップ方法については、Databricks のシークレット管理ドキュメントを参照してください。
ClickHouse Cloud 接続
Databricks から ClickHouse Cloud に接続する場合は、次のように設定します。
- HTTPS プロトコル を使用します(
protocol: https,http_port: 8443) - SSL を有効にします(
ssl: true)
例
ワークフロー全体の例
- Python
- Scala
関連ドキュメント
- Spark ネイティブコネクターガイド - コネクターに関する詳細なドキュメント
- TableProvider API ドキュメント - フォーマットベースのアクセスに関する詳細
- Catalog API ドキュメント - カタログベースのアクセスに関する詳細