Databricks の VSCode 拡張機能チュートリアル: クラスターでジョブとして Python を実行する

このチュートリアルでは、Databricks クラスターで基本的な Python コード ファイルを実行し、リモート ワークスペースで Databricks ジョブとして実行することで、Visual Studio Code の Databricks 拡張機能の使用を開始する方法について説明します。 「 Visual Studio Code の Databricks 拡張機能とは」を参照してください。

このチュートリアルでは何をしますか?

この実践的なチュートリアルでは、次の操作を行います。

  • ローカルの Python コードを実行する Databricks クラスターを作成します。

  • Visual Studio Code と Visual Studio Code 用の Databricks 拡張機能をインストールします。

  • Databricks 認証を設定し、この情報を使用して Visual Studio Code の Databricks 拡張機能を構成します。

  • リモート クラスターに関する情報を使用して Visual Studio Code の Databricks 拡張機能を構成し、クラスターを開始するための拡張機能を用意します。

  • ローカルの Python コードをアップロードするリモート Databricks ワークスペース内の場所を使用して Visual Studio Code の Databricks 拡張機能を構成し、拡張機能でコード アップロード イベントのリッスンを開始します。

  • コードアップロードイベントをトリガーするPythonコードを記述して保存します。

  • Visual Studio Code の Databricks 拡張機能を使用して、アップロードされたコードをリモート クラスターで実行し、リモート ジョブ実行としてクラスターで実行します。

このチュートリアルでは、Python コード ファイルを実行する方法のみを示し、このチュートリアルでは、OAuth ユーザー対マシン (U2M) 認証を設定する方法のみを示します。 Python コード ファイルをデバッグする方法、ノートブックを実行してデバッグする方法、その他の認証の種類を設定する方法については、「 次のステップ」を参照してください。

注:

次のチュートリアルでは、Visual Studio Code バージョン 1 の Databricks 拡張機能を使用します。 Visual Studio Code の Databricks 拡張機能、バージョン 2 (現在プライベート プレビュー中) のこのチュートリアルを完了するには、 「Databricks の VSCode 拡張機能、バージョン 2 チュートリアル: クラスター上でジョブとして Python を実行する」に進んでください。

ステップ1:クラスターを作成する

使用するリモート Databricks クラスターが既にある場合は、クラスターの名前をメモし、ステップ 2 に進んで Visual Studio Code をインストールします。 使用可能なクラスターを表示するには、ワークスペースのサイドバーで「コンピュート」をクリックします。

Databricks では、すぐに開始できるように 個人用コンピュートクラスターを作成することをお勧めします。 このクラスターを作成するには、次の手順を実行します。

  1. Databricks ワークスペースのサイドバーで、 [ コンピュート] をクリックします。

  2. パーソナル・コンピュートで作成」をクリックします。

  3. [コンピュートを作成]をクリックします。

  4. クラスターの名前をメモしておきます。これは、後のステップ 5 でクラスター情報を拡張機能に追加するときに必要になります。

ステップ 2: Visual Studio Code をインストールする

Visual Studio Code をインストールするには、macOS、 Linux 、 または Windows の手順に従います。

Visual Studio Code が既にインストールされている場合は、バージョン 1.69.1 以降であるかどうかを確認します。 これを行うには、Visual Studio Code のメイン メニューで、macOS の場合は [コード] > [バージョン情報] を、Linux または Windows の場合は [ バージョン情報] > [ヘルプ] をクリックします

Visual Studio Code を更新するには、メイン メニューの [macOS の [コード] > [更新プログラムの確認] または [ヘルプ] をクリックして Linux または Windows の更新プログラムの確認>。

ステップ 3: Databricks 拡張機能をインストールする

Visual Studio Code 拡張機能をインストールする
  1. Visual Studio Code のサイドバーで、[ 拡張機能 ] アイコンをクリックします。

  2. Marketplace の検索拡張機能に「Databricks」と入力します。

  3. Databricks による Databricks の IDE サポート」というサブタイトルが付いた Databricks というラベルの付いたエントリで、 [インストール] をクリックします。

ステップ 4: Databricks 認証を設定する

この手順では、次のように、Visual Studio Code の Databricks 拡張機能とリモート Databricks ワークスペース間の認証を有効にします。

  1. Visual Studio Code から、ステップ 7 で後で作成して実行する Python コードを含めるために使用するローカル開発マシン上の空のフォルダーを開きます。 これを行うには、メイン メニューで[ファイル] > [フォルダーを開く]をクリックし、次の手順を実行します。画面上の指示。

  2. Visual Studio Code のサイドバーで、 Databricks ロゴ アイコンをクリックします。

  3. [ 構成 ] ウィンドウで、 [ Databricks の構成] をクリックします。

  4. コマンド パレット[Databricks Host] に、ワークスペース インスタンスの URL を入力します (例: https://dbc-a1b2345c-d6e7.cloud.databricks.com)。次に、 Enter キーを押します。

  5. [OAuth (ユーザーからマシンへ)] を選択します。

  6. Web ブラウザーで画面上の指示を完了して、Databricks での認証を完了します。 プロンプトが表示されたら、 すべての API アクセスを許可します。

ステップ 5: Databricks 拡張機能にクラスター情報を追加し、クラスターを起動する

  1. 認証を設定した前のステップで[構成]ペインがすでに開いている状態で、 [クラスター]の横にある歯車 (クラスターの構成) アイコンをクリックします。

  2. コマンド パレットで、ステップ 1 で作成したクラスターの名前を選択します。

  3. クラスターの起動 (まだ開始されていない場合): クラスターの横で、再生 (Start クラスター) アイコンが表示されている場合はクリックします。

クラスターを起動する

ステップ 6: コードのアップロード場所を Databricks 拡張機能に追加し、アップロード リスナーを開始する

  1. クラスター情報を追加した前のステップですでに[構成]ペインが開いている状態で、 [同期先]の横にある歯車 (同期先の構成) アイコンをクリックします。

  2. コマンド パレットで、 [Create New Sync Destination](新しい同期先の作成) を選択します。

  3. Enterを押して、生成されたリモート・アップロード・ディレクトリ名を確認します。

  4. アップロード・リスナーをまだ開始していない場合は開始します。 「同期先」の横に、矢印付きの円(同期の開始)アイコンが表示されている場合は、それをクリックします。

アップロード・リスナーの開始

ステップ 7: Python コードを作成して実行する

  1. ローカルの Python コードファイルを作成する: サイドバーで、フォルダー (エクスプローラー) アイコンをクリックします。

  2. メイン メニューで、[ファイル] > [新しいファイル] をクリックします。 ファイルに demo.py という名前を付け、プロジェクトのルートに保存します。

  3. 次のコードをファイルに追加し、保存します。 このコードは、基本的なPySpark DataFrameの内容を作成して表示します。

    from pyspark.sql import SparkSession
    from pyspark.sql.types import *
    
    spark = SparkSession.builder.getOrCreate()
    
    schema = StructType([
       StructField('CustomerID', IntegerType(), False),
       StructField('FirstName',  StringType(),  False),
       StructField('LastName',   StringType(),  False)
    ])
    
    data = [
       [ 1000, 'Mathijs', 'Oosterhout-Rijntjes' ],
       [ 1001, 'Joost',   'van Brunswijk' ],
       [ 1002, 'Stan',    'Bokenkamp' ]
    ]
    
    customers = spark.createDataFrame(data, schema)
    customers.show()
    
    # Output:
    #
    # +----------+---------+-------------------+
    # |CustomerID|FirstName|           LastName|
    # +----------+---------+-------------------+
    # |      1000|  Mathijs|Oosterhout-Rijntjes|
    # |      1001|    Joost|      van Brunswijk|
    # |      1002|     Stan|          Bokenkamp|
    # +----------+---------+-------------------+
    
  4. [エクスプローラー] ビューで、 demo.py ファイルを右クリックし、[Databricks でファイルをアップロードして実行] をクリックします。出力が [ デバッグ コンソール] ペインに表示されます。

Databricksでのファイルのアップロードと実行

ステップ 8: コードをジョブとして実行する

前のステップでは、リモートクラスターでPythonコードを直接実行しました。 この手順では、クラスターを使用してコードを Databricks ジョブとして実行するワークフローを開始します。 「 Databricks ジョブとは」を参照してください。

このコードをジョブとして実行するには、 エクスプローラー ビューで demo.py ファイルを右クリックし、 Databricks で [ワークフローとしてファイルを実行] をクリックします。 出力は、 demo.py ファイルエディタの隣にある別のエディタタブに表示されます。

Databricks でファイルをワークフローとして実行する

このチュートリアルは終了しました。

次のステップ

Visual Studio Code の Databricks 拡張機能を正常に使用してローカルの Python ファイルをアップロードし、リモートで実行したので、拡張機能の使用方法の詳細を確認します。

  • 拡張機能の認証を設定するその他の方法について説明します。 「 Visual Studio Code の Databricks 拡張機能の認証設定」を参照してください。

  • Databricks Connect を使用して PySpark および Databricks ユーティリティのコード補完を有効にする方法、Python コードを実行またはデバッグする方法、Databricks ジョブとしてファイルまたはノートブックを実行する方法、 pytestを使用してテストを実行する方法、環境変数定義ファイルを使用する方法、カスタム実行構成を作成する方法などについて説明します。 Visual Studio Code の Databricks 拡張機能については、「開発タスク」を参照してください。

Databricks 用 VSCode 拡張機能、バージョン 2 チュートリアル: クラスター上で Python をジョブとして実行する

注:

このチュートリアルでは、プライベート プレビューにある Visual Studio Code バージョン 2 の Databricks 拡張機能を使用します。

ステップ1:クラスターを作成する

使用するリモート Databricks クラスターが既にある場合は、クラスターの名前をメモし、Visual Studio Code をインストールするステップ 2 に進んでください。 使用可能なクラスターを表示するには、ワークスペースのサイドバーで「コンピュート」をクリックします。

Databricks では、すぐに開始できるように Personal コンピュート クラスターを作成することをお勧めします。 このクラスターを作成するには、次の手順を実行します。

  1. Databricks ワークスペースのサイドバーで、 [ コンピュート] をクリックします。

  2. パーソナル・コンピュートで作成」をクリックします。

  3. [コンピュートを作成]をクリックします。

  4. クラスターの名前をメモしておきます。この名前は、後ほどクラスター情報を拡張機能に追加するステップ 5 で必要になります。

ステップ 2: Visual Studio Code をインストールする

Visual Studio Code をインストールするには、macOS、 Linux 、 または Windows の手順に従います。

Visual Studio Code が既にインストールされている場合は、バージョン 1.69.1 以降であるかどうかを確認します。 これを行うには、Visual Studio Code のメイン メニューで、macOS の場合は [コード] > [バージョン情報] を、Linux または Windows の場合は [ バージョン情報] > [ヘルプ] をクリックします

Visual Studio Code を更新するには、メイン メニューの [macOS の [コード] > [更新プログラムの確認] または [ヘルプ] をクリックして Linux または Windows の更新プログラムの確認>。

ステップ 3: Databricks 拡張機能をインストールする

Visual Studio Code 拡張機能をインストールする
  1. Visual Studio Code のサイドバーで、[ 拡張機能 ] アイコンをクリックします。

  2. Marketplace の検索拡張機能に「Databricks」と入力します。

  3. 「Databricks by Databricksの IDE サポート」というサブタイトルが付いた「Databricks」というラベルの付いたエントリで、 「インストール」の横にある下向き矢印をクリックし、 「プレリリース バージョンのインストール」をクリックします。

  4. 以下のいずれかを実行します。

    • このプレビューに関する利用規約にまだ同意していない場合は、 [お問い合わせ] をクリックし、画面上の指示に従って Databricks にリクエストを送信します。 Databricks の利用規約に同意するまで、このプレビューを使用することはできません。

    • このプレビューに関する使用条件に既に同意している場合は、 既に登録されている場合は [続行] をクリックし、[ 再読み込みが必要 ] をクリックするか、Visual Studio Code を再起動します。

ステップ 4: Databricks 認証を設定する

この手順では、次のように、Visual Studio Code の Databricks 拡張機能とリモート Databricks ワークスペース間の認証を有効にします。

  1. Visual Studio Code で、[ ファイル] > [フォルダーを開く] をクリックし 、ローカル開発マシンで空のフォルダーを開きます。

  2. サイドバーで、 Databricksロゴ アイコンをクリックします。

  3. 構成 」ペインで、「 プロジェクトの初期化」をクリックします。

    新しいプロジェクトの初期化
  4. コマンド パレット[Databricks Host] に、ワークスペース インスタンスの URL を入力します (例: https://dbc-a1b2345c-d6e7.cloud.databricks.com)。次に、 Enter キーを押します。

  5. このリストにOAuth (ユーザーからマシン) を使用して認証するというラベルが付いており、ターゲット Databricks ホストに対応することがわかっている認証構成プロファイルが既にある場合は、それをリストから選択して、次の操作を実行します。

    1. プロンプトが表示されたら、Web ブラウザーで画面上の指示を完了して、Databricks での認証を完了します。

    2. プロンプトが表示された場合は、 すべての API アクセスを許可します。

    3. 手順 5 に進み、クラスター情報を拡張機能に追加します。

  6. [認証方法の選択]で、 [OAuth (ユーザーからマシンへ)]を選択します。

    注:

    Databricks では、すぐに開始できるようにOAuth (ユーザーからマシンへ)を選択することをお勧めします。 他の認証タイプを使用する場合は、 「Visual Studio Code の Databricks 拡張機能の認証セットアップ」を参照してください。

  7. 関連付けられた Databricks 認証プロファイルの名前を入力します。

  8. [構成]ペインで、 [Databricks へのログイン] をクリックします。

    Databricks にログインする
  9. [コマンド パレット][認証方法の選択]で、作成したばかりの認証構成プロファイルの名前を選択します。

  10. プロンプトが表示されたら、Web ブラウザーで画面上の指示を完了して、Databricks での認証を完了します。 プロンプトが表示された場合は、 すべての API アクセスを許可します。

  11. 正常にログインしたら、Visual Studio Code に戻ります。

ステップ 5: Databricks 拡張機能にクラスター情報を追加し、クラスターを起動する

  1. ステップ 4 で認証を設定した[構成]ペインがすでに開いている状態で、 [クラスターの選択]をクリックし、歯車 (クラスターの構成) アイコンをクリックします。

    クラスターの構成
  2. コマンド パレットで、ステップ 1 で作成したクラスターの名前を選択します。

  3. クラスターがまだ開始されていない場合は、クラスターを開始します。クラスターをクリックし、再生 (クラスターの開始) アイコンが表示されている場合は、それをクリックします。

ステップ 6: Python コードを作成して実行する

  1. ローカルの Python コードファイルを作成する: サイドバーで、フォルダー (エクスプローラー) アイコンをクリックします。

  2. メイン メニューで、[ファイル] > [新しいファイル] をクリックします。 ファイルに demo.py という名前を付け、プロジェクトのルートに保存します。

  3. 次のコードをファイルに追加し、保存します。 このコードは、基本的なPySpark DataFrameの内容を作成して表示します。

    from pyspark.sql import SparkSession
    from pyspark.sql.types import *
    
    spark = SparkSession.builder.getOrCreate()
    
    schema = StructType([
       StructField('CustomerID', IntegerType(), False),
       StructField('FirstName',  StringType(),  False),
       StructField('LastName',   StringType(),  False)
    ])
    
    data = [
       [ 1000, 'Mathijs', 'Oosterhout-Rijntjes' ],
       [ 1001, 'Joost',   'van Brunswijk' ],
       [ 1002, 'Stan',    'Bokenkamp' ]
    ]
    
    customers = spark.createDataFrame(data, schema)
    customers.show()
    
    # Output:
    #
    # +----------+---------+-------------------+
    # |CustomerID|FirstName|           LastName|
    # +----------+---------+-------------------+
    # |      1000|  Mathijs|Oosterhout-Rijntjes|
    # |      1001|    Joost|      van Brunswijk|
    # |      1002|     Stan|          Bokenkamp|
    # +----------+---------+-------------------+
    
  4. エクスプローラービューで、 demo.pyファイルを右クリックし、 [Databricks で実行] > [ファイルをアップロードして実行]をクリックします。 出力が [デバッグ コンソール ] ウィンドウに表示されます。

    コンテキストメニューからファイルをアップロードして実行します

    ヒント

    これを行うもう 1 つの方法は、エディター タブのリストの横にあるDatabricks での実行アイコンをクリックし、 [アップロードしてファイルを実行]をクリックすることです。

    アイコンからファイルをアップロードして実行する

ステップ 7: コードをジョブとして実行する

前のステップでは、リモートクラスターでPythonコードを直接実行しました。 この手順では、クラスターを使用してコードを Databricks ジョブとして実行するワークフローを開始します。 「 Databricks ジョブとは」を参照してください。

このコードをジョブとして実行するには、エクスプローラービューでdemo.pyファイルを右クリックし、 [Databricks] > [ワークフローとしてファイルを実行]をクリックします。 出力は、 demo.pyファイル エディタの隣にある別のエディタ タブに表示されます。

コンテキスト メニューからワークフローとしてファイルを実行

ヒント

これを行うもう 1 つの方法は、エディター タブのリストの横にあるDatabricks の実行アイコンをクリックし、 [ワークフローとして実行]をクリックすることです。

アイコンからワークフローとしてファイルを実行

このチュートリアルは終了しました。

次のステップ

Visual Studio Code の Databricks 拡張機能を使用してローカル Python ファイルをアップロードし、リモートで実行することに成功しました。次は、PySpark と Databricks ユーティリティのコード補完を有効にする方法、Databricks Connect を使用して Python コードを実行またはデバッグする方法、Databricks アセット バンドルを使用する方法、実行する方法を学びます。ファイルまたはノートブックを Databricks ジョブとして使用したり、 pytestを使用してテストを実行したり、環境変数定義ファイルを使用したり、カスタム実行構成を作成したりできます。 「 Visual Studio Code の Databricks 拡張機能の開発タスク」を参照してください。