Databricks Connect for Python
この記事では、Databricks Runtime13.3LTLTS以降のDatabricks Connectについて説明します。
この記事では、PythonとPyCharmを使用してDatabricks Connectをすぐに導入する方法を説明します。
- この記事の R バージョンについては、「 Databricks Connect for R」を参照してください。
- この記事の Scala バージョンについては、「 Databricks Connect for Scala」を参照してください。
Databricks ConnectIDEsPyCharmを使用すると、 、ノートブックサーバー、その他のカスタムアプリケーションなどの一般的なDatabricks を クラスターに接続できます。「Databricks Connect とは」を参照してください。
チュートリアル
このチュートリアルをスキップして別の IDE を使用するには、「 次の手順」を参照してください。
必要条件
このチュートリアルを完了するには、以下の条件を満たす必要があります。
- 対象のDatabricksワークスペースでは、Unity Catalogが有効になっている必要があります。
- PyCharmがインストールされています。このチュートリアルは、PyCharm Community Edition 2023.3.5 でテストされています。 PyCharm の異なるバージョンまたはエディションを使用している場合は、次の手順が異なる場合があります。
- ローカル環境とコンピュートは、Databricks Connect 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のメインメニューで、 [表示] > [ツールウィンドウ] > [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’ を実行] をクリックします。
- [実行] ツールウィンドウ( [表示] > [ツールウィンドウ] > [実行] )にある [実行] タブの [メイン] ペインに、
samples.nyctaxi.trips
の最初の5行が表示されます。
ステップ 6: コードをデバッグする
- クラスターが実行されている状態で、前のコードで、
df.show(5)
の横のガターをクリックしてブレークポイントを設定します。 - メインメニューで、 [実行] > [‘main’ をデバッグ] をクリックします。
- [デバッグ] ツールウィンドウ( [ビュー] > [ツールウィンドウ] > [デバッグ] )の [デバッガー] タブの [変数] ペインで df 変数と spark 変数ノードを展開し、コードの
df
変数とspark
変数の情報を参照します。 - [デバッグ] ツールウィンドウのサイドバーで、緑色の矢印( [プログラムの再開] )アイコンをクリックします。
- [デバッガー] タブの [コンソール] ペインに、
samples.nyctaxi.trips
の最初の5行が表示されます。
次のステップ
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 への移行」を参照してください。
-
トラブルシューティングと制限事項に関する情報も参照してください。