kt.log

Get Azure Databricks Cluster connected to Azure Managed Instance for Apache Cassandra

本記事では、過去の記事でデプロイした Azure Managed Instance for Apache Cassandra に対して同じくデプロイ済みの Azure Databricks から接続をする方法を解説します。 Azure Databricks の Notebook で Cassandra に接続して CQL を発行し、それが正しく実行されていることをゴールとします。

前提

免責

  • 筆者の環境は英語です。画面が日本語表示になっていない点、ご了承ください。
  • スクリーンショット内で文字列に赤の波線が引かれている部分は、ブラウザの校正機能によるものであり、記事の内容とは関係ありません。

手順

Azure Databricks にクラスターを作成する

Azure Databricks の Workspace を開き、サイドバーの + アイコンからクラスターの作成を行います。その際、以下の設定を行ってください。

  • Databricks Runtime Version6.4 Extended Support (Scala 2.11, Spark 2.4.5) を選択します。これは Cassandra ライブラリとの互換性のために必要です。
  • Spark Config に Cassandra の各種情報を記述します。項目は以下の通りです。
    1
    2
    3
    4
    5
    spark.cassandra.connection.host ${CassandraクラスターのIPアドレス(カンマ区切り)}
    spark.cassandra.auth.password ${Cassandraクラスター作成時に指定したパスワード}
    spark.cassandra.connection.port ${CassandraクラスターのTCPポート番号 (デフォルト:9042)}
    spark.cassandra.auth.username ${Cassandraクラスターのユーザー (デフォルト:cassandra)}
    spark.cassandra.connection.ssl.enabled ${SSL有効化の有無 (true必須)}

本記事の場合、クラスターの作成は約4分で完了しました。

クラスター作成完了後、クラスターの設定画面に移動する

spark-cassandra-connector をインストールする

Spark から Cassandra に接続するためのライブラリをインストールします。まずは Libraries タブをクリックします。

Install New ボタンをクリックすると、ライブラリのインストールのためのモーダルが表示されます。初期状態では Library Source が Upload タブにフォーカスされています。これを Maven に切り替えてください。

Coordinates に spark-cassandra-connector と入力して Search Packages リンクをクリックすることで、 datastax のライブラリを入力します。

Install ボタンをクリックすると、指定したライブラリが Azure Databricks クラスターにインストールされます。

その他必要なライブラリをインストールする(任意)

他に使いたいライブラリがあれば同様にインストールすることができます。

Notebook を作成する

サイドバーの + ボタンから、またはクラスターの Notebooks タブから Notebook を作成します。本記事では言語に Python を使用します。

コードを記述して実行する

以下のスクリーンショットのようにコードを記述して、各セルを実行していきます。

Cmd 3 で Azure Managed Instance for Apache Cassandra クラスターに対して CQL を実行し、 release_version を表示しています。

実行結果が正しいことを確認する

上記 release_version が正しいことを、仮想マシンから cqlsh 経由で同じ CQL を実行して検証します。

同じ値が取得できました。

まとめ

Azure Databricks クラスターから Azure Managed Instance for Apache Cassandra クラスターに接続して CQL を発行するための、 Azure Databricks クラスター構築手順を解説しました。今回は正しく接続できることをゴールとしており、より踏み込んだ利用方法については別途解説したいと思います。

See also