Azure Databricks から Azure Cosmos DB for Apache Cassandra データにアクセスする

適用対象: Cassandra

この記事では、Azure Databricks 上で Spark から Azure Cosmos DB for Apache Cassandra を使用する方法について説明します。

前提条件

必要な依存関係を追加する

  • Cassandra Spark コネクタ: - Azure Cosmos DB for Apache Cassandra を Spark と統合するために、Cassandra コネクタを Azure Databricks クラスターにアタッチする必要があります。 クラスターを接続する方法は以下の通りです。

    • Databricks ランタイム バージョンと Spark のバージョンを確認します。 次に Cassandra Spark コネクタと互換性がある Maven 座標を探してから、クラスターに接続します。 コネクタ ライブラリのクラスタへの接続については、「Maven パッケージまたは Spark パッケージをアップロードする」」の記事を参照してください。 Spark 3.2.1 をサポートする Databricks ランタイム バージョン 10.4 LTS を選択することをお勧めします。 Apache Spark Cassandra コネクタをクラスターに追加するには、 [Libraries](ライブラリ)>[Install New](新規インストール)>[Maven] を選択し、Maven 座標に com.datastax.spark:spark-cassandra-connector-assembly_2.12:3.2.0 を追加します。 Spark 2.x を使用する場合は、Spark バージョン 2.4.5 を使用した環境で、maven 座標 com.datastax.spark:spark-cassandra-connector_2.11:2.4.3 で spark コネクタを使用することをお勧めします。
  • Azure Cosmos DB for Apache Cassandra 固有のライブラリ: - Spark 2.x を使用している場合は、Cassandra Spark コネクタから Azure Cosmos DB for Apache Cassandra への再試行ポリシーを構成するためにカスタムの接続ファクトリが必要です。 ライブラリをクラスタに接続するために、com.microsoft.azure.cosmosdb:azure-cosmos-cassandra-spark-helper:1.2.0 の Maven 座標を追加します。

注意

Spark 3.x を使用している場合、上記の Azure Cosmos DB for Apache Cassandra 固有のライブラリをインストールする必要はありません。

警告

この記事で示される Spark 3 サンプルは、Spark バージョン 3.2.1 と、対応する Cassandra Spark Connector の com.datastax.spark:spark-cassandra-connector-assembly_2.12:3.2.0 でテストされています。 それより後のバージョンの Spark や Cassandra コネクタは、予期したとおりに機能しない場合があります。

サンプル ノートブック

Azure Databricks のサンプル ノートブックの一覧を GitHub リポジトリからダウンロードできます。 これらのサンプルには、Spark から Azure Cosmos DB for Apache Cassandra への接続方法や、データに対してさまざまな CRUD 操作を実行する方法が含まれています。 また、Databricks のクラスタ ワークスペースにすべてのノートブックをインポートして、実行することもできます。

Spark Scala プログラムから Azure Cosmos DB for Apache Cassandra へのアクセス

Azure Databricks 上で自動化されたプロセスとして実行させる Spark プログラムは、spark-submit を使用してクラスタに送信され、Azure Databricks のジョブがスケジュール実行されます。

Azure Cosmos DB for Apache Cassandra との連携に向けて Spark Scala プログラムを構築し始めるときに参考になるリンクを次に示します。

次のステップ

Java アプリケーションを使用して Cassandra 用 API アカウント、データベース、テーブルを作成してみましょう。