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

このチュートリアルでは、Visual Studio Code用に Databricks 拡張機能を設定し、Azure Databricks クラスターでPythonを実行し、リモート ワークスペースでAzure Databricks ジョブとして実行する方法について説明します。 Visual Studio Code については、Databricks 拡張機能を参照してください。

要件

このチュートリアルには、次のものが必要です:

  • Visual Studio Code用の Databricks 拡張機能がインストールされました。 「Visual Studio Code 用 Databricks 拡張機能のインストールについてはこちらを参照してください。」
  • 使用するリモート Azure Databricks クラスターがある。 クラスターの名前を書き留めます。 使用可能なクラスターを表示するには、Azure Databricksワークスペースのサイドバーで Compute をクリックします。 「コンピューティング」を参照してください。

ステップ 1: 新しい Databricks プロジェクトを作成します

この手順では、新しい Databricks プロジェクトを作成し、リモート Azure Databricks ワークスペースとの接続を構成します。

  1. Visual Studio Code起動し、File > フォルダーを開くをクリックし、ローカル開発マシン上の空のフォルダーを開きます。
  2. Visual Studio Code サイドバーで、Databricks ロゴ アイコンをクリックします。 これで、Databricks 拡張機能が開きます。
  3. 構成 ビューで、[構成作成] をクリックします。
  4. Databricks ワークスペースを構成するコマンド パレット が開きます。 Databricks ホストでは、ワークスペースごとのURLを入力するか選択してください。たとえば、https://adb-1234567890123456.7.azuredatabricks.net などです。
  5. プロジェクトの認証プロファイルを選択します。 Visual Studio Code の Databricks 拡張機能の承認の設定に関するを参照してください。

手順 2: Databricks 拡張機能にクラスター情報を追加し、クラスターを起動する

  1. 構成 ビューが既に開いている状態で、[クラスターの選択] クリックするか歯車アイコン (構成クラスター) をクリックします。

    クラスターの構成

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

  3. まだ起動していない場合には、再生アイコン (クラスターの開始) をクリックします。

手順 3: Pythonコードを作成して実行する

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

  2. メイン メニューの File > New File をクリックし、Python ファイルを選択します。 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()
    
    # +----------+---------+-------------------+
    # |CustomerID|FirstName|           LastName|
    # +----------+---------+-------------------+
    # |      1000|  Mathijs|Oosterhout-Rijntjes|
    # |      1001|    Joost|      van Brunswijk|
    # |      1002|     Stan|          Bokenkamp|
    # +----------+---------+-------------------+
    
  4. エディター タブの一覧の横にある Run on Databricks アイコンをクリックして、[ アップロードとファイルの実行] をクリックします。 出力は [デバッグ コンソール] ビューに表示されます。

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

    または、エクスプローラビューでdemo.pyファイルを右クリックし、Databricksで実行>アップロードしてファイルを実行をクリックします。

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

手順 4: コードをジョブとして実行する

demo.pyジョブとして実行するには、エディター タブの一覧の横にある Run on Databricks アイコンをクリックし、ワークフローとしてファイルを実行 をクリックします。 出力は、demo.py ファイル エディターの横にある別のエディター タブに表示されます。

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

または、demo.py パネルでファイルを右クリックし、Databricksで実行 を選択した後、>を選択します。

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

次のステップ

Visual Studio Codeの Databricks 拡張機能を使用してローカル Python ファイルをアップロードし、リモートで実行できるようになったので、次の操作も行うことができます。

  • 拡張 UI を使用して、宣言型オートメーション バンドルのリソースと変数について説明します。 宣言型オートメーション バンドル拡張機能の機能を参照してください。
  • Databricks Connect を使用Pythonコードを実行またはデバッグします。 Visual Studio Code の Databricks 拡張機能の Databricks Connect を使用した Debug コードを参照してください。
  • ファイルまたはノートブックをAzure Databricks ジョブとして実行します。 Visual Studio Code の Databricks 拡張機能を使用して、Azure Databricks でジョブとしてクラスターあるいはファイルやノートブックを実行する方法について参照してください。
  • pytestを使用してテストを実行します。 Visual Studio Code の Databricks 拡張機能を使用して Python テストを実行する方法については、こちらを参照してください。