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

Databricks Connect for Python

注記

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

を使用すると、 、ノートブックサーバー、その他のカスタムアプリケーションなどの一般的なDatabricks Connect をIDEs PyCharmDatabricksコンピュートに接続できます。「Databricks Connect とは」を参照してください。

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

チュートリアル

次のチュートリアルでは、 でプロジェクトを作成し、PyCharm Databricks ConnectDatabricks Runtime13.3LTS 以降の をインストールし、Databricks から ワークスペースのコンピュートで簡単なコードを実行します。PyCharmその他の情報と例については、「 次の手順」を参照してください。

必要条件

このチュートリアルを完了するには、以下の条件を満たす必要があります。

  • 対象の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認証を開始します。

  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のメインメニューで、 [表示] > [ツールウィンドウ] > [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. [実行] ツールウィンドウ( [表示] > [ツールウィンドウ] > [実行] )にある [実行] タブの [メイン] ペインに、samples.nyctaxi.tripsの最初の5行が表示されます。

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

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

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

次のステップ

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