Databricks Connect for Python
注
この記事では、 Databricks Runtime 13.0 以降の Databricks Connect について説明します。
この記事では、Python と PyCharm を使用して Databricks Connect をすぐに使い始める方法について説明します。
この記事の R バージョンについては、「 Databricks Connect for R」を参照してください。
この記事の Scala バージョンについては、「 Databricks Connect for Scala」を参照してください。
Databricks Connect を使用すると、PyCharm、ノートブック サーバー、その他のカスタム アプリケーションなどの一般的な IDE を Databricks クラスターに接続できます。 「Databricks Connect とは」を参照してください。
チュートリアル
このチュートリアルをスキップして、代わりに別の IDE を使用するには、「 次の手順」を参照してください。
要件
このチュートリアルを完了するには、次の要件を満たす必要があります。
ターゲットの Databricks ワークスペースとクラスターは、 Databricks Connect のクラスター構成の要件を満たしている必要があります。
クラスター ID が使用可能になっている必要があります。 クラスター ID を取得するには、ワークスペースでサイドバーの [ コンピュート ] をクリックし、クラスターの名前をクリックします。 Web ブラウザーのアドレスバーで、URL の
clusters
からconfiguration
までの文字列をコピーします。PyCharmがインストールされています。 このチュートリアルは、PyCharm Community Edition 2023.3.5 でテストされました。 PyCharm の異なるバージョンまたはエディションを使用する場合、次の手順は異なる場合があります。
開発マシンにPython 3がインストールされており、クライアントのPythonインストールのマイナー・バージョンがDatabricksクラスターのPythonのマイナー・バージョンと同じものである(次の表は、各Databricks RuntimeとともにインストールされるPythonのバージョンを示しています。)
Databricks Runtimeのバージョン
Pythonのバージョン
15.0 ML、15.0
3.11
13.0 機械学習 - 14.3 機械学習、13.0 - 14.3
3.10
ステップ 1: Databricks 認証を構成する
このチュートリアルでは、Databricks OAuth ユーザー対マシン (U2M) 認証と Databricks 構成プロファイル を使用して、Databricks ワークスペースで認証を行います。 代わりに別の認証の種類を使用するには、「 接続プロパティの構成」を参照してください。
OAuth U2M 認証を構成するには、次のように Databricks CLI が必要です。
まだインストールされていない場合は、 次のように Databricks CLI をインストールします。
Homebrew を使用して、次の 2 つのコマンドを実行して Databricks CLI をインストールします。
brew tap databricks/tap brew install databricks
Databricks CLI をインストールするには、 winget、 Chocolatey 、または Windows Subsystem for Linux (WSL) を使用できます。
winget
、Chocolatey、または WSL を使用できない場合は、この手順をスキップし、代わりにコマンド プロンプトまたは PowerShell を使用してソースから Databricks CLI をインストールする必要があります。注
Databricks CLI と Chocolatey のインストールは 実験段階です。
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
注
databricks
を実行してもcommand not found: databricks
などのエラーが発生した場合、またはdatabricks -v
を実行してバージョン番号が 0.18 以下の場合は、マシンで Databricks CLI 実行可能ファイルの正しいバージョンが見つからないことを意味します。これを修正するには、「 CLI のインストールを確認する」を参照してください。
OAuth U2M 認証を次のように開始します。
Databricks CLI を使用して、ターゲット ワークスペースごとに次のコマンドを実行して、OAuth トークン管理をローカルで開始します。
次のコマンドで、
<workspace-url>
を Databricks ワークスペース インスタンスの URL に置き換えます (例:https://1234567890123456.7.gcp.databricks.com
)。databricks auth login --configure-cluster --host <workspace-url>
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プロジェクトへのパスを指定します。
[ Create a main.py welcome script (ウェルカムスクリプトの作成 )] を選択したままにします。
[インタープリターの種類] で [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
の場合は、次のコードをファイルに入力し、ファイルを保存します。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: コードを実行する
リモートのDatabricksワークスペースでターゲット・クラスターを開始します。
クラスターが起動したら、メイン メニューで [実行] > [' main' の実行] をクリックします。
[ 実行 ] ツール ウィンドウ ([実行] >> [ツール ウィンドウの表示]) の [ 実行 ] タブの メイン ウィンドウに、
samples.nyctaxi.trips
の最初の 5 行が表示されます。
ステップ 6: コードをデバッグする
クラスターがまだ実行されている状態で、上記のコードで [
df.show(5)
] の横にある余白をクリックしてブレークポイントを設定します。メイン メニューで、[実行] > [' main' のデバッグ] をクリックします。
[デバッグ] ツールウィンドウ([ビュー] > [ツールウィンドウ] > [デバッグ])の [デバッガ] タブの [変数] ペインで df 変数と spark 変数ノードを展開し、コードの
df
変数とspark
変数の情報を参照します。[デバッグ] ツールウィンドウのサイドバーで、緑色の矢印([プログラムの再開])アイコンをクリックします。
[デバッガー] タブの [コンソール] ペインに、
samples.nyctaxi.trips
の最初の5行が表示されます。
次のステップ
Databricks Connect の詳細については、次のような記事を参照してください。
Databricks 個人用アクセストークン以外の Databricks 認証の種類を使用するには、「 接続プロパティの構成」を参照してください。
他の IDE、ノートブックサーバー、および Spark シェルを使用するには、以下を参照してください。
その他の簡単なコード例については、「 Databricks Connect for Python のコード例」を参照してください。
より複雑なコード例を表示するには、GitHub の Databricks Connect リポジトリのサンプル アプリケーション を参照してください。
Databricks Connect で Databricks ユーティリティを使用するには、「 Databricks Utilities with Databricks Connect for Python 」を参照してください。
Databricks Connect for Databricks Runtime 12.2 LTS 以下から Databricks Connect for Databricks Runtime 13.0 以降に移行するには、「 Databricks Connect for Python への移行」を参照してください。
トラブルシューティングと制限事項に関する情報も参照してください。