Databricks Connect のチュートリアル
この記事では、Python と PyCharm を使用して Databricks Connect をすぐに使えるようにする方法について説明します。
Databricks Connect を使用すると、PyCharm などの一般的な IDE、ノートブック サーバー、その他のカスタム アプリケーションを Azure Databricks クラスターに接続できます。
注意
この記事では、Databricks Runtime 13.0 以降用の Databricks Connect について説明します。
Databricks Runtime 13.0 以降の Databricks Connect に関するこのチュートリアル以外の情報については、Databricks Connect リファレンスを参照してください。
以前の Databricks Runtime バージョン向けの Databricks Connect に関する情報については、「Databricks Runtime 12.2 LTS 以下用の Databricks Connect」をご覧ください。
必要条件
次のハンズオン チュートリアルでは、次のことを前提としています。
PyCharm がインストールされている。
Unity Catalog に対して有効になっている Azure Databricks ワークスペースとそれに対応するアカウントがある。 「Unity Catalog の使用の開始」と「Unity Catalog のワークスペースを有効にする」を参照してください。
ワークスペース内の Azure Databricks 汎用クラスターがある。 クラスターに Databricks Runtime 13.0 以降がインストールされている。 クラスターには、割り当て済みまたは共有済みのクラスター アクセス モードもあります。 アクセス モードを参照してください。
開発用コンピューターに Python 3 をインストールしており、クライアントの Python インストールのマイナー バージョンは、Azure Databricks クラスターのマイナー Python バージョンと同じです。 次の表は、各 Databricks Runtime に合わせてインストールされる Python バージョンを示しています。
Databricks Runtime のバージョン Python バージョン 13.2 ML、13.2 3.10 13.1 ML、13.1 3.10 13.0 ML、13.0 3.10
このチュートリアルを完了するには、次の手順に従います。
手順 1: 個人用アクセス トークンを作成する
このチュートリアルでは、Azure Databricks 個人用アクセス トークン認証と Azure Databricks 構成プロファイルを使用しており、Azure Databricks ワークスペースを使用して認証します。 Azure Databricks 個人用アクセス トークンと一致する Azure Databricks 構成プロファイルを既にお持ちの場合は、手順 3 に進んでください。
個人用アクセス トークンを作成するには
Azure Databricks ワークスペースの上部バーで、目的の Azure Databricks ユーザー名をクリックし、次にドロップダウンから [ユーザー設定] を選択します。
[アクセス トークン] タブで [新しいトークンの生成] をクリックします。
(省略可能) 将来このトークンを識別するのに役立つコメントを入力し、トークンの既定の有効期間 90 日を変更します。 有効期間のないトークンを作成するには (推奨されません)、[有効期間 (日)] ボックスを空のままにします。
[Generate](生成) をクリックします。
表示されたトークンを安全な場所にコピーし、[完了] をクリックします。
コピーしたトークンは必ず安全な場所に保存してください。 コピーしたトークンは他人に見せないでください。 コピーしたトークンを失った場合、それとまったく同じトークンは再生成できません。 代わりに、この手順を繰り返して新しいトークンを作成する必要があります。 コピーしたトークンが見つからなくなった場合や、トークンが漏洩したと思われる場合は、[アクセス トークン] タブで、そのトークンの横の [X] をクリックし、ワークスペースからトークンをすぐに削除することを強くお勧めします。
注意
ワークスペースでトークンを作成することや使用することができない場合は、ワークスペース管理者によってトークンが無効にされているか、トークンを作成または使用する権限が作業者に付与されていない可能性があります。 ワークスペース管理者に連絡するか、以下の情報を参照してください。
手順 2: 認証構成プロファイルを作成する
Azure Databricks 認証構成プロファイルを作成して、個人用アクセス トークンに関する必要な情報をローカル コンピューターに格納します。 Azure Databricks 開発者ツールと SDK では、この構成プロファイルを使用しており、Azure Databricks ワークスペースを使用してすばやく認証できます。
プロファイルを作成するには、次のようにします。
このファイルがまだ存在しない場合は、コンピューター上のユーザーのホーム ディレクトリのルートに
.databrickscfg
という名前のファイルを作成します。 Linux と macOS の場合、パスは~/.databrickscfg
です。 Windows の場合、パスは%USERPROFILE%\.databrickscfg
です。テキスト エディターを使用して、次の構成プロファイルをこのファイルに追加し、ファイルを保存します。
[<some-unique-profile-name>] host = <my-workspace-url> token = <my-personal-access-token-value> cluster_id = <my-cluster-id>
次のプレースホルダーを置き換えます。
<some-unique-profile-name>
をこのプロファイルの一意の名前に置き換えます。 この名前は.databrickscfg
ファイル内で一意である必要があります。<my-workspace-url>
は、https://
で始まる Azure Databricks ワークスペースの URL に設定します。 「ワークスペースのインスタンス名、URL、および ID」を参照してください。<my-personal-access-token-value>
は、Azure Databricks 個人用アクセス トークンの値に置き換えます。 「Azure Databricks 個人用アクセス トークン認証」をご覧ください。<my-cluster-id>
は、Azure Databricks クラスターの ID に置き換えます。 「クラスター URL と ID」を参照してください。
次に例を示します。
[DEFAULT] host = https://my-workspace-url.com token = dapi... cluster_id = abc123...
注意
上記のフィールド
host
とtoken
は、Azure Databricks の個人用アクセス トークン認証用です。これは、Azure Databricks 認証の最も一般的な種類です。 Databricks 開発者ツールと SDK の中には、一部のシナリオでこのcluster_id
フィールドが使用されるものもあります。 サポートされているその他の Azure Databricks 認証の種類とシナリオについては、ツールや SDK のドキュメント、または Databricks クライアント統合認証に関するページを参照してください。
手順 3: プロジェクトを作成する
- PyCharm を起動します。
- [新しいプロジェクト]> をクリックします。
- [場所] の場合、フォルダー アイコンをクリックし、画面上の指示を完了して、新しい Python プロジェクトへのパスを指定します。
- [Python インタープリター: 新しい環境] を展開します。
- [使用する新しい環境] オプションをクリックします。
- ドロップダウン リストで、[Virtualenv] を選択します。
venv
フォルダーに推奨されるパスを [場所] のままにします。- [ベース インタープリター] の場合、ドロップダウン リストを使用するか、省略記号をクリックして、上記の要件から Python インタープリターへのパスを指定します。
- Create をクリックしてください。
手順 4: Databricks Connect パッケージを追加する
- PyCharm のメイン メニューで、[表示] > [ツール ウィンドウ] > [Python パッケージ] の順にクリックします。
- 検索ボックスに「
databricks-connect
」と入力します。 - PyPI リポジトリの一覧で、databricks-connect をクリックします。
- 結果ウィンドウの最新のドロップダウン リストで、クラスターの Databricks Runtime バージョンと一致するバージョンを選択します。 たとえば、クラスターに Databricks Runtime 13.2 がインストールされている場合は、[13.2.0] を選択します。
- [インストール] をクリックします。
- パッケージがインストールされたら、[Python パッケージ] ウィンドウを閉じることができます。
手順 5: コードを追加する
[プロジェクト] ツール ウィンドウで、プロジェクトのルート フォルダーを右クリックし、[新規] > [Python ファイル] の順にクリックします。
「
main.py
」と入力して、[Python ファイル] をクリックします。ファイルに次のコードを入力し、ファイルを保存します。
from databricks.connect import DatabricksSession spark = DatabricksSession.builder.getOrCreate() df = spark.read.table("samples.nyctaxi.trips") df.show(5)
手順 6: コードをデバッグする
- リモートの Azure Databricks ワークスペースでターゲット クラスターを開始します。
- 前のコードで、
df.show(5)
の横にある余白をクリックしてブレークポイントを設定します。 - クラスターが起動したら、メイン メニューの [実行] > [デバッグ] の順にクリックします。 メッセージが表示されたら、メイン > [デバッグ] を選択します。
- [デバッグ] ツール ウィンドウ ([表示]> [ツール ウィンドウ] > [デバッグ]) の [デバッガー] タブの [変数] ウィンドウで、df と spark 変数ノードを展開して、コードの
df
とspark
変数に関する情報を参照します。 - [デバッグ] ツール ウィンドウのサイドバーで、緑色の矢印 ([プログラムの再開]) アイコンをクリックします。
- [デバッガー] タブの [コンソール] ウィンドウに、
samples.nyctaxi.trips
の最初の 5 行が表示されます。
次の手順
Databricks Connect の詳細を確認し、より複雑なコード例を試すには、Databricks Connect リファレンスを参照してください。 このリファレンス記事には、次のトピックのガイダンスが含まれています。
- Azure Databricks の個人用アクセス トークン認証に加えて、Azure Databricks 認証の種類がサポートされています。
- SparkShell を使用し、JupyterLab、クラシック Jupyter Notebook、Visual Studio Code、PyDev を使用した Eclipse などの PyCharm に加えて IDE を使用する方法。
- Databricks Runtime 12.2 LTS 以下用の Databricks Connect から Databricks Runtime 13.0 以降に移行します。
- Databricks Connect を使用して Databricks ユーティリティにアクセスする方法。
- トラブルシューティング ツールが提供されます。
- Databricks Connect の制限事項を一覧表示します。