Databricks Connect for Python
この記事では、Databricks Runtime13.3LTS以降のDatabricks Connectについて説明します。
Databricks Connect を使用すると、PyCharmのような人気のIDE、ノートブックサーバー、その他のカスタムアプリケーションをDatabricksの計算資源に接続できます。Databricks Connect とはを参照してください。
この記事では、 PyCharm を使用して Databricks Connect for Python をすぐに使い始める方法について説明します。
- この記事の R バージョンについては、「 Databricks Connect for R」を参照してください。
- この記事の Scala バージョンについては、「 Databricks Connect for Scala」を参照してください。
チュートリアル
次のチュートリアルでは、PyCharmでプロジェクトを作成し、Databricks Runtime 13.3 LTS 以降のDatabricks Connect をインストールし、PyCharmからDatabricksワークスペースの計算資源で簡単なコードを実行します。その他の情報と例については、「 次の手順」を参照してください。
必要条件
このチュートリアルを完了するには、以下の条件を満たす必要があります。
- 対象のDatabricksワークスペースでは、Unity Catalogが有効になっている必要があります。
- PyCharmがインストールされています。このチュートリアルは、PyCharm Community Edition 2023.3.5 でテストされています。 PyCharm の異なるバージョンまたはエディションを使用している場合は、次の手順が異なる場合があります。
- ローカル環境とコンピュートが、Databricks Connect for Pythonのインストール バージョンの要件を満たしていること。
- クラシックコンピュートを使用している場合は、クラスタリングのIDが必要になります。 クラスタリング ID を取得するには、ワークスペースでサイドバーの [コンピュート ] をクリックし、クラスタリングの名前をクリックします。 Web ブラウザーのアドレス バーで、URL の
clusters
とconfiguration
の間の文字列をコピーします。
ステップ 1: Databricks 認証を構成する
このチュートリアルでは 、Databricks OAuth ユーザーマシン間 (U2M) 認証 と Databricks 構成プロファイル を使用して、Databricks ワークスペースへの認証を行います。 別の認証タイプを使用するには、「 接続プロパティの構成」を参照してください。
OAuth U2M 認証を構成するには、Databricks CLI が必要です。 Databricks CLIのインストールに関する情報については、「Databricks CLIのインストールまたは更新」を参照してください。
次のように、OAuth U2M認証を開始します。
-
Databricks CLI を使用して、ターゲット ワークスペースごとに次のコマンドを実行して、OAuth トークン管理をローカルで開始します。
次のコマンドで、
<workspace-url>
を Databricks ワークスペース インスタンスの URL に置き換えます (例:https://1234567890123456.7.gcp.databricks.com
.Bashdatabricks auth login --configure-cluster --host <workspace-url>
サーバレス コンピュートを Databricks Connectとともに使用するには、 サーバレス コンピュートへの接続の設定を参照してください。
-
Databricks CLI では、入力した情報を Databricks 構成プロファイルとして保存するように求められます。
Enter
キーを押して提案されたプロファイル名を受け入れるか、新規または既存のプロファイルの名前を入力します。同じ名前の既存のプロファイルは、入力した情報で上書きされます。 プロファイルを使用すると、複数のワークスペース間で認証コンテキストをすばやく切り替えることができます。既存のプロファイルの一覧を取得するには、別のターミナルまたはコマンド プロンプトで、 Databricks CLI を使用してコマンド
databricks auth profiles
を実行します。 特定のプロファイルの既存の設定を表示するには、databricks auth env --profile <profile-name>
コマンドを実行します。 -
Webブラウザで、画面の指示に従ってDatabricksワークスペースにログインします。
-
ターミナル プロンプトまたはコマンド プロンプトに表示される使用可能なクラスタリングの一覧で、上方向キーと下方向キーを使用してワークスペース内のターゲット クラスタリング 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プロジェクトへのパスを指定します。
- [main.py welcomeスクリプトを作成] は選択したままにしておきます。
- [インタープリターのタイプ] では [Project venv] をクリックします。
- [Pythonのバージョン] を展開し、フォルダアイコンまたはドロップダウンリストを使用して、前述の要件にあるPythonインタープリターへのパスを指定します。
- 作成 をクリックします。
手順 3: Databricks Connect パッケージを追加する
- PyCharmのメイン メニューで、[ View (表示)] > [Tool (ツール)] Windows > Python [パッケージ ] をクリックします。
- 検索ボックスに「
databricks-connect
」と入力します。 - [PyPIリポジトリ] のリストから [databricks-connect] をクリックします。
- 結果ペインの 最新の ドロップダウンリストで、クラスタリングの Databricks Runtime バージョンに一致するバージョンを選択します。 たとえば、クラスタリングに Databricks Runtime 14.3 がインストールされている場合は、 14.3.1 を選択します。
- [パッケージのインストール] をクリックします。
- パッケージがインストールされたら、 [Pythonパッケージ] のウィンドウを閉じてかまいません。
ステップ 4: コードを追加する
-
[プロジェクト ] ツール ウィンドウで、プロジェクトのルート フォルダーを右クリックし、[ Python ファイルの新規作成] > をクリックします。
-
main.py
と入力し、 [Pythonファイル] をダブルクリックします。 -
構成プロファイルの名前に応じて、以下のコードをファイルに入力し、ファイルを保存します。
ステップ1の構成プロファイルが
DEFAULT
という名前である場合は、次のコードをファイルに入力して、ファイルを保存します。Pythonfrom databricks.connect import DatabricksSession
spark = DatabricksSession.builder.getOrCreate()
df = spark.read.table("samples.nyctaxi.trips")
df.show(5)ステップ1の構成プロファイルが
DEFAULT
という名前でない場合は、代わりに次のコードをファイルに入力します。プレースホルダー<profile-name>
をステップ1で作成した構成プロファイルの名前に置き換えて、ファイルを保存します。Pythonfrom databricks.connect import DatabricksSession
spark = DatabricksSession.builder.profile("<profile-name>").getOrCreate()
df = spark.read.table("samples.nyctaxi.trips")
df.show(5)
ステップ 5: コードを実行する
- リモートのDatabricksワークスペースでターゲット・クラスターを開始します。
- クラスタリングが開始されたら、メイン メニューで [実行] > [実行 'main] をクリックします。
- 実行 ツール ウィンドウ ( View > Tool Windows > Run ) では、 実行 タブ のメイン ペインに、
samples.nyctaxi.trips
の最初の 5 行が表示されます。
ステップ 6: コードをデバッグする
- クラスターが実行されている状態で、前のコードで、
df.show(5)
の横のガターをクリックしてブレークポイントを設定します。 - メイン メニューで、[ Run (実行)] > [Debug 'main' ] をクリックします。
- デバッグ ツール ウィンドウ ( [デバッグ>ツールの表示] Windows > ) の [ デバッガー] タブの [変数 ] ウィンドウで、 df 変数ノードと spark 変数ノードを展開して、コードの
df
変数とspark
変数に関する情報を参照します。 - デバッグ ツールウィンドウのサイドバーで、緑色の矢印( プログラムの再開 )アイコンをクリックします。
- [デバッガー ] タブの [コンソール ] ペインに、
samples.nyctaxi.trips
の最初の 5 行が表示されます。
次のステップ
Databricks Connectの詳細については、以下の記事を参照してください。
-
別の認証タイプを使用するには、「 接続プロパティの構成」を参照してください。
-
Databricks Connect は、他のIDE、ノートブック サーバー、および Spark シェルと共に使用します。
-
その他の簡単なコード例については、「 Databricks Connect for Python のコード例」を参照してください。
-
複雑なコードの例については、GitHubのサイトにあるDatabricks Connectのアプリケーション例を参照してください。具体的には以下のとおりです。
-
Databricks Connect で Databricks ユーティリティを使用するには、「 Databricks Connect for Python での Databricks ユーティリティ」を参照してください。
-
Databricks Connect for Databricks Runtime 12.2 LTS 以前から Databricks Connect for Databricks Runtime 13.3 LTS 以降に移行するには、「 Databricks Connect for Python への移行」を参照してください。
-
トラブルシューティングと制限事項に関する情報も参照してください。