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

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

要件

このチュートリアルでは、次のことが必要です。

  • Visual Studio Code 用の Databricks 拡張機能をインストールしました。 「Visual Studio Code の Databricks 拡張機能のインストール」を参照してください。

  • 使用するリモート Databricks クラスターがあります。 クラスターの名前をメモします。 使用可能なクラスターを表示するには、 Databricks ワークスペースのサイドバーで [ コンピュート] をクリックします。 コンピュートを参照してください。

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

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

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

  2. サイドバーで、 Databricks のロゴアイコンをクリックします。 これにより、Databricks 拡張機能が開きます。

  3. [構成] ビューで、[Databricks プロジェクトへの移行] をクリックします。

  4. Databricks ワークスペースを構成するための コマンド パレット が開きます。 [Databricks Host] で、ワークスペース インスタンスの URL (https://dbc-a1b2345c-d6e7.cloud.databricks.comなど) を入力または選択します。

  5. プロジェクトの認証プロファイルを選択します。 「Visual Studio Code の Databricks 拡張機能の認証設定」を参照してください。

ステップ 2: クラスター 情報を Databricks 拡張機能に追加し、クラスターを開始します

  1. [Configuration] ビューが既に開いている状態で、[Select a cluster] をクリックするか、歯車 ([Configure cluster]) アイコンをクリックします。

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

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

ステップ 3: 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. エディター タブの一覧の横にある [Databricks で実行 ] アイコンをクリックし、[ ファイルのアップロードと実行] をクリックします。 出力が [Debug Console ] ビューに表示されます。

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

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

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

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

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

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

または、[エクスプローラー] パネルで demo.py ファイルを右クリックし、[Databricks で実行] > [ファイルをワークフローとして実行] を選択します。

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

次のステップ

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