Databricks Connect for Python
Note
この記事では、Databricks Runtime 13.0 以降用の Databricks Connect について説明します。
この記事では、Python と PyCharm を使用して Databricks Connect をすぐに使えるようにする方法について説明します。
- この記事の R バージョンについては、「Databricks Connect for R」を参照してください。
- この記事の Scala バージョンについては、「Databricks Connect for Scala」を参照してください。
Databricks Connect を使用すると、PyCharm などの一般的な IDE、ノートブック サーバー、その他のカスタム アプリケーションを Azure Databricks クラスターに接続できます。 「Databricks Connect とは」を参照してください。
チュートリアル
このチュートリアルをスキップし、代わりに別の IDE を使用するには、「次の手順」を参照してください。
必要条件
このチュートリアルを完了するには、次の要件を満たす必要があります。
ターゲットの Azure Databricks のワークスペースとクラスターは、Databricks Connect のクラスター構成要件を満たしている必要があります。
クラスター ID を使用できる必要があります。 クラスター ID を取得するには、ワークスペースで、サイドバーの [コンピューティング] をクリックしてから、クラスターの名前をクリックします。 Web ブラウザーのアドレス バーで、URL 内の
clusters
とconfiguration
の間の文字列をコピーします。PyCharm がインストールされている。 このチュートリアルは、PyCharm Community Edition 2023.3.5 でテストされました。 別のバージョンまたはエディションの PyCharm を使用する場合、次の手順は異なる場合があります。
開発用コンピューターに Python 3 をインストールしており、クライアントの Python インストールのマイナー バージョンは、Azure Databricks クラスターのマイナー Python バージョンと同じです。 次の表は、各 Databricks Runtime に合わせてインストールされる Python バージョンを示しています。
Databricks Runtime のバージョン Python バージョン 15.0 ML、
15.03.11 13.0 ML - 14.3 ML、
13.0 - 14.33.10
手順 1: Azure Databricks 認証を構成する
このチュートリアルでは、Azure Databricks OAuth ユーザー対マシン (U2M) 認証と Azure Databricks 構成プロファイルを使用しており、Azure Databricks ワークスペースを使用して認証します。 代わりに別の認証の種類を使うには、「接続プロパティの構成」をご覧ください。
OAuth U2M 認証を構成するには、次のように Databricks CLI が必要です。
Databricks CLI がまだインストールされていない場合は、次のようにしてインストールします。
Linux、MacOS
Homebrew を使用し、次の 2 つのコマンドを実行して Databricks CLI をインストールします。
brew tap databricks/tap brew install databricks
Windows
winget、Chocolatey または Linux 用 Windows サブシステム (WSL) を使用して、Databricks CLI をインストールできます。
winget
、Chocolatey、WSL を使えない場合は、この手順をスキップし、代わりにコマンド プロンプトまたは PowerShell を使ってソースから Databricks CLI をインストールする必要があります。Note
Chocolatey を使用した Databricks CLI のインストールは、試験段階です。
winget
を使用して Databricks CLI をインストールするには、次の 2 つのコマンドを実行し、コマンド プロンプトを再起動してください。winget search databricks winget install Databricks.DatabricksCLI
Chocolatey を使用して Databricks CLI をインストールするには、次のコマンドを実行します。
choco install databricks-cli
WSL を使って Databricks CLI をインストールするには、次のようにします。
WSL を使用して
curl
とzip
をインストールします。 詳細については、お使いのオペレーティング システムのドキュメントを参照してください。WSL を使用して、次のコマンドを実行して Databricks CLI をインストールしてください。
curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sh
次のコマンドを実行して、Databricks CLI がインストールされていることを確認します。これにより、インストールされている Databricks CLI の現在のバージョンが表示されます。 このバージョンは 0.205.0 以降である必要があります。
databricks -v
Note
databricks
を実行してもcommand not found: databricks
などの エラーが発生する場合、またはdatabricks -v
を実行するとバージョン番号 0.18 以下が表示される場合は、お使いのマシンで正しいバージョンの Databricks CLI 実行可能ファイルが見つからないことを意味します。 これを修正するには、「CLI のインストールを確認する」を参照してください。
次のように OAuth U2M 認証を開始します。
Databricks CLI を使用して、ターゲット ワークスペースごとに次のコマンドを実行して、OAuth トークン管理をローカルで開始します。
次のコマンド内では、
<workspace-url>
を Azure Databricks ワークスペース単位の URL (例:https://adb-1234567890123456.7.azuredatabricks.net
) に置き換えます。databricks auth login --configure-cluster --host <workspace-url>
Databricks CLI では、入力した情報を Azure Databricks 構成プロファイルとして保存するように求められます。
Enter
キーを押して提案されたプロファイル名を受け入れるか、新規または既存のプロファイル名を入力します。 同じ名前の既存のプロファイルは、入力した情報で上書きされます。 プロファイルを使用すると、複数のワークスペース間で認証コンテキストをすばやく切り替えることができます。既存のプロファイルの一覧を取得するには、別のターミナルまたはコマンド プロンプト内で、Databricks CLI を使用してコマンド
databricks auth profiles
を実行します。 特定のプロファイルの既存の設定を表示するには、コマンドdatabricks auth env --profile <profile-name>
を実行します。Web ブラウザーで、画面の指示に従って Azure Databricks ワークスペースにログインします。
ターミナルまたはコマンド プロンプトに表示される使用可能なクラスターのリストで、上下の方向キーを使ってワークスペース内のターゲット Azure Databricks クラスターを選び、
Enter
キーを押します。 クラスターの表示名の任意の部分を入力して、使用可能なクラスターの一覧をフィルター処理することもできます。プロファイルの現在の OAuth トークン値とトークンの今後の有効期限のタイムスタンプを表示するには、次のいずれかのコマンドを実行します。
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
同じ
--host
値を持つ複数のプロファイルがある場合は、Databricks CLI が正しく一致する OAuth トークン情報を見つけるのに役立つ--host
と-p
のオプションを一緒に指定することが必要になる場合があります。
手順 2: プロジェクトを作成する
- PyCharm を起動します。
- メイン メニューで、[ファイル]>[新しいプロジェクト] の順にクリックします。
- [新しいプロジェクト] ダイアログで [Pure Python] をクリックします。
- [場所] の場合、フォルダー アイコンをクリックし、画面上の指示を完了して、新しい Python プロジェクトへのパスを指定します。
- [Create a main.py welcome script] (main.py ウェルカム スクリプトの作成) は選択したままにします。
- [Interpreter type] (インタープリターの種類) で、[Project venv] を選択します。
- [Python バージョン] を展開し、フォルダー アイコンまたはドロップダウン リストを使用して、上記の要件から Python インタープリターへのパスを指定します。
- Create をクリックしてください。
手順 3: Databricks Connect パッケージを追加する
- PyCharm のメイン メニューで、[表示] > [ツール ウィンドウ] > [Python パッケージ] の順にクリックします。
- 検索ボックスに「
databricks-connect
」と入力します。 - PyPI リポジトリの一覧で、databricks-connect をクリックします。
- 結果ウィンドウの最新のドロップダウン リストで、クラスターの Databricks Runtime バージョンと一致するバージョンを選択します。 たとえば、クラスターに Databricks Runtime 14.3 がインストールされている場合は、[14.3.1] を選択します。
- [パッケージのインストール] をクリックします。
- パッケージがインストールされたら、[Python パッケージ] ウィンドウを閉じることができます。
手順 4: コードを追加する
[プロジェクト] ツール ウィンドウで、プロジェクトのルート フォルダーを右クリックし、[新規] > [Python ファイル] の順にクリックします。
「
main.py
」と入力して、[Python ファイル] をダブルクリックします。構成プロファイルの名前に応じて、次のコードをファイルに入力してファイルを保存します。
手順 1 の構成プロファイルの名前が
DEFAULT
の場合は、次のコードをファイルに入力して、ファイルを保存します。from databricks.connect import DatabricksSession spark = DatabricksSession.builder.getOrCreate() df = spark.read.table("samples.nyctaxi.trips") df.show(5)
手順 1 の構成プロファイルの名前が
DEFAULT
ではない場合は、代わりに次のコードをファイルに入力します。 プレースホルダー<profile-name>
を手順 1 の構成プロファイルの名前に置き換えて、ファイルを保存します。from databricks.connect import DatabricksSession spark = DatabricksSession.builder.profile("<profile-name>").getOrCreate() df = spark.read.table("samples.nyctaxi.trips") df.show(5)
手順 5: コードを実行する
- リモートの Azure Databricks ワークスペースでターゲット クラスターを開始します。
- クラスターが起動したら、メイン メニューで [実行] > [‘main’ の実行] の順にクリックしてください。
- [実行] ツール ウィンドウ ([表示] > [ツール ウィンドウ] > [実行]) の [実行] タブのメイン ペインに、
samples.nyctaxi.trips
の最初の 5 行が表示されます。
手順 6: コードをデバッグする
- クラスターがまだ実行中の状態で、前述のコードで、
df.show(5)
の横にある余白をクリックしてブレークポイントを設定します。 - メイン メニューで、[実行]>[‘main’ のデバッグ] の順にクリックします。
- [デバッグ] ツール ウィンドウ ([表示]> [ツール ウィンドウ] > [デバッグ]) の [デバッガー] タブの [変数] ウィンドウで、df と spark 変数ノードを展開して、コードの
df
とspark
変数に関する情報を参照します。 - [デバッグ] ツール ウィンドウのサイドバーで、緑色の矢印 ([プログラムの再開]) アイコンをクリックします。
- [デバッガー] タブの [コンソール] ウィンドウに、
samples.nyctaxi.trips
の最初の 5 行が表示されます。
次のステップ
Databricks Connect の詳細については、次のような記事を参照してください。
Azure Databricks 個人用アクセス トークン以外の種類の Azure Databricks 認証を使うには、「接続プロパティの構成」をご覧ください。
他の IDE、ノートブック サーバー、Spark シェルを使用するには、次を参照してください。
その他の単純なコード例については、「Databricks Connect for Python のコード例」を参照してください。
より複雑なコード例を確認するには、GitHub にある「Databricks Connect リポジトリ のサンプル アプリケーション」(特に以下) を参照してください:
Databricks Connect で Databricks Utilities を使用するには、「Databricks Utilities と Databricks Connect for Python」を参照してください。
Databricks Runtime 12.2 LTS 以下用の Databricks Connect から Databricks Runtime 13.0 以上用の Databricks Connect に移行するには、「Databricks Connect for Python に移行する」を参照してください。
トラブルシューティングと制限に関する情報も参照してください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示