Databricks Connect for Python

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

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

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 ML - 14.3 ML、13.0 - 14.3

    3.10

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

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

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

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

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

    brew tap databricks/tap
    brew install databricks
    

    Databricks CLI をインストールするには、 wingetChocolatey 、または 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 をインストールするには、次のようにします。

    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
    

    databricks を実行しても command not found: databricksなどのエラーが発生した場合、または databricks -v を実行してバージョン番号が 0.18 以下の場合は、マシンで Databricks CLI 実行可能ファイルの正しいバージョンが見つからないことを意味します。これを修正するには、「 CLI のインストールを確認する」を参照してください。

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

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

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

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

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

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

  4. ターミナルまたはコマンド プロンプトに表示される使用可能なクラスターの一覧で、上方向キーと下方向キーを使用してワークスペース内のターゲット 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 (ウェルカムスクリプトの作成 )] を選択したままにします。

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

    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. リモートの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 の詳細については、次のような記事を参照してください。

  • Databricks 個人用アクセストークン以外の Databricks 認証の種類を使用するには、「 接続プロパティの構成」を参照してください。