Databricks 用 VSCode 拡張機能チュートリアル: クラスター上でジョブとして Python を実行する
このチュートリアルでは、Azure Databricks クラスター上で基本的な Python コード ファイルを Azure Databricks ジョブとしてリモート ワークスペースで実行して、Visual Studio Code 用の Databricks 拡張機能の使用を開始する方法について説明します。 「Visual Studio Code 用 Databricks 拡張機能について」を参照してください。
このチュートリアルの実施内容
このハンズオン チュートリアルでは、次の操作を行います。
- ローカル Python コードを実行する Azure Databricks クラスターを作成します。
- Visual Studio Code と Visual Studio Code 用の Databricks 拡張機能をインストールします。
- Azure Databricks 認証を設定し、この情報を使用して Visual Studio Code 用の Databricks 拡張機能を構成します。
- リモート クラスターに関する情報を使用して Visual Studio Code の Databricks 拡張機能を構成し、拡張機能にクラスターを起動させます。
- ローカル Python コードをアップロードするためにリモート Azure Databricks ワークスペースの場所を指定して、Visual Studio Code 用の Databricks 拡張機能を構成し、コードのアップロード イベントのリッスンを開始します。
- Python コードを記述して保存し、コード アップロード イベントをトリガーします。
- Visual Studio Code 用の Databricks 拡張機能を使用して、リモート クラスターでアップロードされたコードを実行し、リモート ジョブ実行としてクラスターで実行します。
このチュートリアルでは、Python コード ファイルの実行方法および OAuth ユーザー対マシン (U2M) 認証の設定方法のみを説明します。 Python コード ファイルのデバッグ方法、ノートブックの実行とデバッグ方法、その他の認証の種類の設定方法については、「次の手順」を参照してください。
手順 1: クラスターを作成する
使用するリモート Azure Databricks クラスターが既にある場合は、クラスターの名前をメモして、Visual Studio Code をインストールする手順 2 に進みます。 使用可能なクラスターを表示するには、ワークスペースのサイドバーで [コンピューティング] をクリックします。
Databricks では、スムーズに使用開始するために個人用コンピューティング クラスターを作成することをお勧めします。 クラスターを作成するには、次の操作を行います。
- Azure Databricks ワークスペースのサイドバーで、[コンピューティング] をクリックします。
- [個人用コンピューティングで作成] をクリックします。
- [コンピューティングの作成] をクリックします。
- クラスターの名前は、拡張機能にクラスター情報を追加するときに手順 5 で後ほど必要になりますので、メモしておきます。
手順 2: Visual Studio Code のインストール
Visual Studio Code をインストールするには、macOS 、Linux、または Windows の手順に従います。
Visual Studio Code が既にインストールされている場合は、バージョン 1.69.1 以降かどうかを確認してください。 バージョンの確認するには、Visual Studio Code のメイン メニューで、macOS の場合は、[Code] > [Visial Studio Code のバージョン情報]、Linux または Windows の場合は、[ヘルプ] > [バージョン情報] をクリックします。
Visual Studio Code を更新するには、メイン メニューで、macOS の場合は、[Code] > [更新の確認]、Linux または Windows の場合は、[ヘルプ] > [更新の確認] をクリックします。
手順 3: Databricks 拡張機能をインストールする
- Visual Studio Code サイドバーで、[拡張機能] アイコンをクリックします。
- [Marketplace で拡張機能を検索する] に
Databricks
と入力します。 - Databricks による Databricks 用の IDE サポートというサブタイトルを含む Databricks というラベルが付いたエントリで、[インストール] をクリックします。
手順 4: Azure Databricks 認証を設定する
この手順では、次のようにして、Visual Studio Code 用の Databricks 拡張機能とリモート Azure Databricks ワークスペース間の認証を有効にします。
- Visual Studio Code から、後ほど手順 7 で作成して実行する Python コードを格納するために使用するローカル開発マシン上の空のフォルダーを開きます。 これを行うには、メイン メニューで [ファイル] > [フォルダーを開く] をクリックし、画面の指示に従います。
- Visual Studio Code サイドバーで、Databricks ロゴ アイコンをクリックします。
- [構成] ウィンドウで、[Configure Databricks](Databricks の構成) をクリックします。
- コマンド パレットの Databricks Host に、ワークスペースごとの URL (例:
https://adb-1234567890123456.7.azuredatabricks.net
) を入力します。 次に、Enter キーを押します。 - [OAuth (user to machine)] を選択します。
- Web ブラウザー内で画面の指示を実行して、Azure Databricks での認証を完了します。 メッセージが表示されたら、all-apis アクセスを許可 します。
手順 5: Databricks 拡張機能にクラスター情報を追加し、クラスターを起動する
- 前の手順で認証を設定した [構成] ペインが既に開いている状態で、[クラスター] の横にある歯車アイコン (クラスターの構成) をクリックします。
- コマンド パレットで、手順 1 で作成したクラスターの名前を選択します。
- クラスターがまだ起動していない場合は、クラスターを起動します。クラスターの横に、開始 (クラスターの開始) アイコンが表示されている場合は、そのアイコンをクリックします。
手順 6: Databricks 拡張機能にコードのアップロード場所を追加し、アップロード リスナーを開始する
- 前の手順でクラスター情報を追加した [構成] ペインが既に開いている状態で、[同期先] の横にある歯車アイコン (同期先の構成) をクリックします。
- コマンド パレットで、[新しい同期先の作成] をクリックします。
Enter
キーを押して、生成されたリモート アップロード ディレクトリ名を確認します。- まだ開始されていない場合は、アップロード リスナーを開始します。[同期先] の横に矢印の付いた円 (同期の開始) アイコンが表示されている場合は、そのアイコンをクリックします。
手順 7: Python コードを作成して実行する
ローカル Python コード ファイルを作成する: サイドバーで、フォルダー (エクスプローラー) アイコンをクリックします。
メイン メニューで、[ファイル] > [新しいファイル] をクリックします。 ファイルに demo.py という名前を付け、プロジェクト ルートに保存します。
次のコードをファイルに追加して保存します。 このコードは、次のように基本的な 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| # +----------+---------+-------------------+
[Explorer] ビューで、
demo.py
ファイルを右クリックしてから [Databricks にファイルをアップロードして実行] をクリックします。 出力は [デバッグ コンソール] ペインに表示されます。
手順 8: コードをジョブとして実行する
前の手順では、リモート クラスター上で Python コードを直接実行しました。 この手順では、コードを直接実行する代わりにクラスターを使用してコードを Azure Databricks ジョブとして実行するワークフローを開始します。 「Azure Databricks ジョブとは」を参照してください。
このコードをジョブとして実行するには、[エクスプローラー] ビューで demo.py
ファイルを右クリックし、[Databricks のワークフローとしてファイルを実行] をクリックします。 出力は、demo.py
ファイル エディターの横にある別のエディター タブに表示されます。
以上でこのチュートリアルは終了です。
次のステップ
これで Visual Studio Code 用 Databricks 拡張機能を使用してローカルの Python ファイルをアップロードし、リモートで実行できました。次の拡張機能の使用方法の詳細情報を参照ください。
- 拡張機能の認証を設定するその他の方法について説明します。 「VS Code 用 Databricks 拡張機能の認証の設定」をご参照ください。
- PySpark および Databricks ユーティリティのコード補完を有効にする、Databricks Connect を使用して Python コードを実行またはデバッグする、Azure Databricks ジョブとしてファイルまたはノートブックを実行する、
pytest
を使用してテストを実行する、環境変数定義ファイルを使用する、カスタム実行構成を作成する、などの方法について説明します。 「Visual Studio Code 用 Databricks 拡張機能の開発タスク」をご参照ください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示