Azure Databricks Web ターミナルでシェル コマンドを実行する

Azure Databricks Web ターミナルでは、Databricks CLI コマンドを含むコマンド ライン インターフェイス (CLI) でシェル コマンドを実行する便利で対話性が高い方法が提供され、Databricks オブジェクトに対してアクションをプログラム的に実行されます。 既存のユーザー インターフェイス (UI) が完全にはサポートしていない可能性がある複数のファイルに対するバッチ操作など、高度なユース ケースには特に便利です。

複数のユーザーは Web ターミナルを 1 つのコンピューティングで使用できます。

Web ターミナルを使用して次の操作を行うことができます。

  • Vim または Emacs を使用してファイルを簡単に編集します。
  • htop (クラスターの使用状況) やnvidia-smi (GPU 使用率) などのコマンドを使用して、リソース配分状況を監視します。
  • Spark 以外の Python スクリプトを実行します。
  • mvmkdir などのシェル コマンドを使用してファイル操作を実行します。
  • コンピューティング時にライブラリをインストールして管理します。
  • Databricks CLI を使用して Azure Databricks のさまざまなアスペクトを自動化します。

要件

警告

Azure Databricks によって、コンピューティングの Spark ドライバーのポート 7681 から Web ターミナルがプロキシされます。 この Web プロキシは、Web ターミナルだけでの使用を意図しています。 コンピューティング開始時にポートが使用されているか、何らかの競合がある場合、Web ターミナルが想定どおりに動作しない可能性があります。 他の Web サービスをポート 7681 で起動する場合、コンピューティング ユーザーが潜在的なセキュリティ攻撃にさらされる可能性があります。 Databricks も Microsoft も、サポートされていないソフトウェアをコンピューティングにインストールした結果によって発生する問題については一切責任を負いません。

  • Web ターミナルは、すべてのワークスペース ユーザーに対して既定で無効になっています。 これを有効にする場合は、「Web ターミナルを有効にする」を参照してください。
  • コンピューティングに対するアタッチ可能アクセス許可。
  • コンピューティングでは、単一ユーザーまたは分離なし共有アクセス モードを使用する必要があります。

Web ターミナルを起動する

Web ターミナルは、コンピューティングの詳細ページまたはノートブックから起動できます。

ノートブックから

ノートブックから Web ターミナルを起動するには:

  1. ノートブックをコンピューティングに接続します。
  2. ノートブックの右サイドバーの下部にある [下部パネルを開く] アイコン ノートブックで下部パネルを開く をクリックします。
  3. または、アタッチされたコンピューティング ドロップダウンをクリックし、アタッチされたコンピューティングにマウス ポインターを合わせ、[Web ターミナル] をクリックします。

画面下部のパネルに Web ターミナルが開きます。 パネルの右上にあるボタンを使用すると、次の操作を行うことができます。

  • 新しいタブで新しいターミナル セッションを開く 新しいターミナル セッションを開く
  • ターミナル セッションをリロードする ターミナル セッションをリロードする
  • 下部パネルを閉じる 下部パネルを閉じる。 パネルを再度開くには、右サイド バーの下部にある 下部パネルを再度開く をクリックします。

コンピューティングの詳細ページから

コンピューティングの詳細ページから Web ターミナルを起動するには:

  1. ワークスペースのサイドバーで [コンピューティング] をクリックします。
  2. [汎用コンピューティング] タブで、コンピューティングの名前をクリックします。
  3. [開始] をクリックしてコンピューティングを開始します。
  4. [アプリ] タブで、[Web ターミナル] をクリックします。

新しいタブが開き、Web ターミナル UI と Bash プロンプトが表示されます。

Web ターミナルを使用する

Web ターミナルでは、コンピューティング ドライバー ノードのコンテナー内のルートからコマンドを実行できます。

各ユーザーは、最大 100 のアクティブな Web ターミナル セッション (タブ) を開くことができます。 アイドル状態の Web ターミナル セッションがタイムアウトになり、Web ターミナルの Web アプリケーションが再接続されて、新しいシェル プロセスが発生する可能性があります。 Bash セッションを保持する場合は、Databricks では tmux を使用することを推奨しています。

Databricks CLI コマンドを実行する

Web ターミナルを使用して Databricks CLI コマンドを実行することもできます。 使用可能な CLI は常に最新バージョンであり、認証は現在のユーザーに基づいています。 コンピューティングは、次の要件を満たしている必要があります。

  • クラスターに Databricks Runtime 15.0 LTS 以降がインストールされている必要があります。
  • ワークスペースを Private Link に対して有効にすることはできません。

Web ターミナルを起動し、次のコマンドを実行して、現在のユーザーに関する情報を出力します。

   databricks current-user me

バンドル コマンドも使用できます。これにより、Databricks ワークスペース内の Web ターミナルから直接、Databricks アセット バンドルを作成および管理できます。 たとえば、既定のテンプレートを使用してシンプルなバンドルを作成、デプロイ、実行するには、次のようにします。

  1. Web ターミナルのルートから、ワークスペースのホームに移動し、bundle init を実行します。

    cd /Workspace/Users/someone@example.com
    databricks bundle init
    
  2. 既定のテンプレート プロンプトを受け入れ、バンドル ディレクトリに移動してデプロイします。

    cd my_project
    databricks bundle deploy
    

    Databricks ワークスペース UI で、デプロイされた my_project バンドルを表示できます。

  3. 最後に、バンドルで既定のジョブを実行します。

    databricks bundle run my_project_job
    

    [ジョブ実行] に移動して、実行中のジョブを確認します。

制限事項

  • Azure Databricks では、Web ターミナルからの Spark ジョブの実行をサポートしていません。

  • 次のコンピューティングの種類では、Azure Databricks Web ターミナルを使用できません。

    • ジョブ コンピューティング
    • サーバーレス コンピューティング
    • DISABLE_WEB_TERMINAL=true 環境変数セットを使用して起動したコンピューティング。
    • アクセス モード[共有] に設定された状態で起動されたコンピューティング。
    • Spark 構成 spark.databricks.pyspark.enableProcessIsolationtrue に設定された状態で起動されたコンピューティング。
  • 最初のページ読み込みから 12 時間というハード制限があり、その後、接続は、アクティブな場合であっても終了します。 Web ターミナルを更新すると再接続できます。 Databricks では、tmux を使用してシェル セッションを保持することをお勧めします。

  • ARM コンピューティング リソースでは、Git フォルダー内のファイルを含むワークスペース ファイルへのアクセスに Web ターミナルを使用することはできません。

  • Docker Container Services を有効にすると、Web ターミナルが無効になります。