メインコンテンツまでスキップ

Databricks Connect for Python

注記

この記事では、Databricks Runtime13.3LTS以降のDatabricks Connectについて説明します。

Databricks Connect を使用すると、PyCharmのような人気のIDE、ノートブックサーバー、その他のカスタムアプリケーションをDatabricksの計算資源に接続できます。Databricks Connect とはを参照してください。

この記事では、 PyCharm を使用して Databricks Connect for Python をすぐに使い始める方法について説明します。

チュートリアル

次のチュートリアルでは、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 の clustersconfiguration の間の文字列をコピーします。

ステップ 1: Databricks 認証を構成する

このチュートリアルでは 、Databricks OAuth ユーザーマシン間 (U2M) 認証 と Databricks 構成プロファイル を使用して、Databricks ワークスペースへの認証を行います。 別の認証タイプを使用するには、「 接続プロパティの構成」を参照してください。

OAuth U2M 認証を構成するには、Databricks CLI が必要です。 Databricks CLIのインストールに関する情報については、「Databricks CLIのインストールまたは更新」を参照してください。

次のように、OAuth U2M認証を開始します。

  1. Databricks CLI を使用して、ターゲット ワークスペースごとに次のコマンドを実行して、OAuth トークン管理をローカルで開始します。

    次のコマンドで、 <workspace-url> を Databricks ワークスペース インスタンスの URL に置き換えます (例: https://1234567890123456.7.gcp.databricks.com.

    Bash
    databricks auth login --configure-cluster --host <workspace-url>
ヒント

サーバレス コンピュートを Databricks Connectとともに使用するには、 サーバレス コンピュートへの接続の設定を参照してください。

  1. Databricks CLI では、入力した情報を Databricks 構成プロファイルとして保存するように求められます。 Enter キーを押して提案されたプロファイル名を受け入れるか、新規または既存のプロファイルの名前を入力します。同じ名前の既存のプロファイルは、入力した情報で上書きされます。 プロファイルを使用すると、複数のワークスペース間で認証コンテキストをすばやく切り替えることができます。

    既存のプロファイルの一覧を取得するには、別のターミナルまたはコマンド プロンプトで、 Databricks CLI を使用してコマンド databricks auth profilesを実行します。 特定のプロファイルの既存の設定を表示するには、 databricks auth env --profile <profile-name>コマンドを実行します。

  2. Webブラウザで、画面の指示に従ってDatabricksワークスペースにログインします。

  3. ターミナル プロンプトまたはコマンド プロンプトに表示される使用可能なクラスタリングの一覧で、上方向キーと下方向キーを使用してワークスペース内のターゲット クラスタリング Databricks を選択し、 Enterキーを押します。 クラスタリングの表示名の任意の部分を入力して、使用可能なクラスタリングの一覧をフィルター処理することもできます。

  4. プロファイルの現在の 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: プロジェクトを作成する

  1. PyCharmを起動します。
  2. メインメニューで、 [ファイル] > [新しいプロジェクト] をクリックします。
  3. [新しいプロジェクト] ダイアログで、 [Pure Python] をクリックします。
  4. [場所] には、フォルダーアイコンをクリックし、画面上の指示に従って新しいPythonプロジェクトへのパスを指定します。
  5. [main.py welcomeスクリプトを作成] は選択したままにしておきます。
  6. [インタープリターのタイプ] では [Project venv] をクリックします。
  7. [Pythonのバージョン] を展開し、フォルダアイコンまたはドロップダウンリストを使用して、前述の要件にあるPythonインタープリターへのパスを指定します。
  8. 作成 をクリックします。

PyCharmプロジェクトを作成する

手順 3: Databricks Connect パッケージを追加する

  1. PyCharmのメイン メニューで、[ View (表示)] > [Tool (ツール)] Windows > Python [パッケージ ] をクリックします。
  2. 検索ボックスに「 databricks-connect」と入力します。
  3. [PyPIリポジトリ] のリストから [databricks-connect] をクリックします。
  4. 結果ペインの 最新の ドロップダウンリストで、クラスタリングの Databricks Runtime バージョンに一致するバージョンを選択します。 たとえば、クラスタリングに Databricks Runtime 14.3 がインストールされている場合は、 14.3.1 を選択します。
  5. [パッケージのインストール] をクリックします。
  6. パッケージがインストールされたら、 [Pythonパッケージ] のウィンドウを閉じてかまいません。

Databricks Connectパッケージをインストールする

ステップ 4: コードを追加する

  1. [プロジェクト ] ツール ウィンドウで、プロジェクトのルート フォルダーを右クリックし、[ Python ファイルの新規作成] > をクリックします。

  2. main.py と入力し、 [Pythonファイル] をダブルクリックします。

  3. 構成プロファイルの名前に応じて、以下のコードをファイルに入力し、ファイルを保存します。

    ステップ1の構成プロファイルがDEFAULTという名前である場合は、次のコードをファイルに入力して、ファイルを保存します。

    Python
    from databricks.connect import DatabricksSession

    spark = DatabricksSession.builder.getOrCreate()

    df = spark.read.table("samples.nyctaxi.trips")
    df.show(5)

    ステップ1の構成プロファイルがDEFAULTという名前でない場合は、代わりに次のコードをファイルに入力します。プレースホルダー<profile-name>をステップ1で作成した構成プロファイルの名前に置き換えて、ファイルを保存します。

    Python
    from databricks.connect import DatabricksSession

    spark = DatabricksSession.builder.profile("<profile-name>").getOrCreate()

    df = spark.read.table("samples.nyctaxi.trips")
    df.show(5)

ステップ 5: コードを実行する

  1. リモートのDatabricksワークスペースでターゲット・クラスターを開始します。
  2. クラスタリングが開始されたら、メイン メニューで [実行] > [実行 'main] をクリックします。
  3. 実行 ツール ウィンドウ ( View > Tool Windows > Run ) では、 実行 タブ のメイン ペインに、samples.nyctaxi.tripsの最初の 5 行が表示されます。

ステップ 6: コードをデバッグする

  1. クラスターが実行されている状態で、前のコードで、df.show(5)の横のガターをクリックしてブレークポイントを設定します。
  2. メイン メニューで、[ Run (実行)] > [Debug 'main' ] をクリックします。
  3. デバッグ ツール ウィンドウ ( [デバッグ>ツールの表示] Windows > ) の [ デバッガー] タブの [変数 ] ウィンドウで、 df 変数ノードと spark 変数ノードを展開して、コードの df 変数と spark 変数に関する情報を参照します。
  4. デバッグ ツールウィンドウのサイドバーで、緑色の矢印( プログラムの再開 )アイコンをクリックします。
  5. [デバッガー ] タブの [コンソール ] ペインに、samples.nyctaxi.tripsの最初の 5 行が表示されます。

PyCharmプロジェクトをデバッグする

次のステップ

Databricks Connectの詳細については、以下の記事を参照してください。