Share via


Databricks Connect for Python

Note

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

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

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

チュートリアル

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

必要条件

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

  • ターゲットの Azure Databricks のワークスペースとクラスターは、Databricks Connect のクラスター構成要件を満たしている必要があります。

  • クラスター ID を使用できる必要があります。 クラスター ID を取得するには、ワークスペースで、サイドバーの [コンピューティング] をクリックしてから、クラスターの名前をクリックします。 Web ブラウザーのアドレス バーで、URL 内の clustersconfiguration の間の文字列をコピーします。

  • PyCharm がインストールされている。 このチュートリアルは、PyCharm Community Edition 2023.3.5 でテストされました。 別のバージョンまたはエディションの PyCharm を使用する場合、次の手順は異なる場合があります。

  • 開発用コンピューターに Python 3 をインストールしており、クライアントの Python インストールのマイナー バージョンは、Azure Databricks クラスターのマイナー Python バージョンと同じです。 次の表は、各 Databricks Runtime に合わせてインストールされる Python バージョンを示しています。

    Databricks Runtime のバージョン Python バージョン
    15.0 ML、
    15.0
    3.11
    13.0 ML - 14.3 ML、
    13.0 - 14.3
    3.10

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

このチュートリアルでは、Azure Databricks OAuth ユーザー対マシン (U2M) 認証と Azure Databricks 構成プロファイルを使用しており、Azure Databricks ワークスペースを使用して認証します。 代わりに別の認証の種類を使うには、「接続プロパティの構成」をご覧ください。

OAuth U2M 認証を構成するには、次のように Databricks CLI が必要です。

  1. Databricks CLI がまだインストールされていない場合は、次のようにしてインストールします。

    Linux、MacOS

    Homebrew を使用し、次の 2 つのコマンドを実行して Databricks CLI をインストールします。

    brew tap databricks/tap
    brew install databricks
    

    Windows

    wingetChocolatey または Linux 用 Windows サブシステム (WSL) を使用して、Databricks CLI をインストールできます。 winget、Chocolatey、WSL を使えない場合は、この手順をスキップし、代わりにコマンド プロンプトまたは PowerShell を使ってソースから Databricks CLI をインストールする必要があります。

    Note

    Chocolatey を使用した Databricks CLI のインストールは、試験段階です。

    winget を使用して Databricks CLI をインストールするには、次の 2 つのコマンドを実行し、コマンド プロンプトを再起動してください。

    winget search databricks
    winget install Databricks.DatabricksCLI
    

    Chocolatey を使用して Databricks CLI をインストールするには、次のコマンドを実行します。

    choco install databricks-cli
    

    WSL を使って Databricks CLI をインストールするには、次のようにします。

    1. WSL を使用して curlzip をインストールします。 詳細については、お使いのオペレーティング システムのドキュメントを参照してください。

    2. WSL を使用して、次のコマンドを実行して Databricks CLI をインストールしてください。

      curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sh
      
  2. 次のコマンドを実行して、Databricks CLI がインストールされていることを確認します。これにより、インストールされている Databricks CLI の現在のバージョンが表示されます。 このバージョンは 0.205.0 以降である必要があります。

    databricks -v
    

    Note

    databricks を実行しても command not found: databricks などの エラーが発生する場合、または databricks -v を実行するとバージョン番号 0.18 以下が表示される場合は、お使いのマシンで正しいバージョンの Databricks CLI 実行可能ファイルが見つからないことを意味します。 これを修正するには、「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>
    
  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 の詳細については、次のような記事を参照してください。