次の方法で共有


Databricks Connect for Python

Note

この記事では、Databricks Runtime 13.3 LTS 以降用の Databricks Connect について説明します。

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

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

チュートリアル

このチュートリアルをスキップし、代わりに別の IDE を使用するには、「次の手順」を参照してください。

必要条件

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

  • ターゲットの Azure Databricks ワークスペースで Unity カタログが有効になっている必要がある。
  • PyCharm がインストールされている。 このチュートリアルは、PyCharm Community Edition 2023.3.5 でテストされました。 別のバージョンまたはエディションの PyCharm を使用する場合、次の手順は異なる場合があります。
  • コンピューティングが、Databricks Connect for Python のインストール要件を満たしている。
  • クラシック コンピューティングを使用している場合は、クラスターの ID が必要である。 クラスター ID を取得するには、ワークスペースで、サイドバーの [コンピューティング] をクリックしてから、クラスターの名前をクリックします。 Web ブラウザーのアドレス バーで、URL 内の clustersconfiguration の間の文字列をコピーします。

手順 1: Azure Databricks 認証を構成する

このチュートリアルでは、Azure Databricks ワークスペースへの認証に、Azure Databricks OAuth User-to-Machine (U2M) 認証と Azure Databricks 構成プロファイルを使用します。 別の認証の種類を使うには、「接続プロパティの構成」をご覧ください。

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

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

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

    次のコマンド内では、<workspace-url> を Azure Databricks ワークスペース単位の URL (例: https://adb-1234567890123456.7.azuredatabricks.net) に置き換えます。

    databricks auth login --configure-cluster --host <workspace-url>
    

    ヒント

    Databricks Connect でサーバーレス コンピューティングを使用するには、「 サーバーレス コンピューティングへの接続を構成する」を参照してください。

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

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

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

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

  5. プロファイルの現在の 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. [Create a main.py welcome script] (main.py ウェルカム スクリプトの作成) は選択したままにします。
  6. [Interpreter type] (インタープリターの種類) で、[Project venv] を選択します。
  7. [Python バージョン] を展開し、フォルダー アイコンまたはドロップダウン リストを使用して、上記の要件から Python インタープリターへのパスを指定します。
  8. Create をクリックしてください。

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 の場合は、次のコードをファイルに入力して、ファイルを保存します。

    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: コードを実行する

  1. リモートの Azure Databricks ワークスペースでターゲット クラスターを開始します。
  2. クラスターが起動したら、メイン メニューで [実行] > [‘main’ の実行] の順にクリックしてください。
  3. [実行] ツール ウィンドウ ([表示] > [ツール ウィンドウ] > [実行]) の [実行] タブのメイン ペインに、samples.nyctaxi.trips の最初の 5 行が表示されます。

手順 6: コードをデバッグする

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

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

次のステップ

Databricks Connect の詳細については、次のような記事を参照してください。