Databricks ノートブックとファイル エディターの操作
この記事では、キーボード ショートカット、コードの提案とオートコンプリート、変数の検査、コードの折りたたみなど、Databricks ノートブックとファイル エディターの操作に役立つ関数について説明します。 ノートブックまたはファイルエディターを使用する場合、Databricks Assistant を使用してコードの生成、説明、デバッグを行うことができます。 詳細については、「 Databricks Assistant からコーディングのヘルプを取得する 」を参照してください。
エディターのテーマから選択できます。 表示 > エディタのテーマ を選択し、メニューから選択します。
キーボード ショートカット
キーボードショートカットを表示するには、 「ヘルプ」>「キーボードショートカット」 を選択します。使用できるキーボードショートカットは、カーソルがコードセルにあるか(編集モード)、そうでないか(コマンドモード)によって異なります。
コマンド パレット
ノートブックでは、コマンドパレットを使用してアクションをすばやく実行できます。 ノートブック アクションのパネルを開くには、ワークスペースの右下隅にある [ ] をクリックするか、ショートカット Cmd + Shift + P (MacOS の場合) または Ctrl + Shift + P (Windows の場合) を使用します。
テキストの検索と置換
ノートブック内のテキストを検索して置換するには、 「編集」>「検索と置換」 を選択します。現在選択されている一致はオレンジ色でハイライトされ、他のすべての一致は黄色でハイライトされます。
現在選択されている一致を置き換えるには、「 置換 」をクリックします。ノートブック内の一致をすべて置換するには、「 すべて置換 」をクリックします。
一致の間を移動するには、「 前へ 」ボタンと「 次へ 」ボタンをクリックします。また、 Shift+Enter キーを押して前の一致へ、 Enter キーを押して次の一致へ移動することもできます。
検索と置換ツールを閉じるには、をクリックするか、 esc キーを押します。
変数検査
SQL または Python ノートブックで定義された変数に関する情報を表示するには、変数名の上にカーソルを置きます。 Python 変数の調査には、Databricks Runtime 12.2 LTS 以上が必要です。
変数エクスプローラーを参照してください。
定義に移動
Python ノートブックがクラスターにアタッチされている場合、変数、関数、または %run
ステートメントの背後にあるコードの定義にすばやく移動できます。これを行うには、変数名または関数名を右クリックし、 Go to definition または Peek definition をクリックします。
macOS では Cmd キー、Windows では Ctrl キーを押したまま、変数名または関数名にカーソルを合わせます。 定義が見つかった場合、名前はハイパーリンクに変わります。
"定義に移動" 機能は、Databricks Runtime 12.2 LTS 以降で使用できます。
コードの折りたたみ
コード フォールディングを使用すると、コードの一部を一時的に非表示にすることができます。 これは、長いコードブロックを操作するときに、作業中のコードの特定のセクションに集中できるため便利です。
コードを非表示にするには、セルの左端にカーソルを置きます。 下向きの矢印は、コードの一部を非表示にできる論理ポイントに表示されます。 矢印をクリックして、コードセクションを非表示にします。 矢印をもう一度クリック (右を指しています) をクリックして、コードを表示します。
キーボード ショートカットなどの詳細については、 VS Code のドキュメントを参照してください。
マルチカーソルのサポート
ビデオに示すように、複数のカーソルを作成して、同時編集を容易にすることができます。
1つのセルに複数のカーソルを作成するには:
- macOSでは、
Option
キーを押しながら各場所をクリックしてカーソルを追加します。 - Windows では、
Alt
キーを押しながら各場所をクリックしてカーソルを追加します。 - ショートカットを変更するオプションもあります。 マルチカーソルと列選択のショートカットを変更するを参照してください。
macOSでは、キーボードショートカットの Option
+Command
+上矢印キーまたは下矢印キーを使用して、垂直方向に揃えられた複数のカーソルを作成できます。
列 (ボックス) の選択
列内の複数のアイテムを選択するには、キャプチャする領域の左上にある をクリックします。 そうしたら:
- macOS では、
Shift
+Option
を押しながら右下にドラッグして、1 つ以上の列をキャプチャします。 - Windows では、
Shift
+Alt
を押しながら右下にドラッグして、1 つ以上の列をキャプチャします。 - ショートカットを変更するオプションもあります。 マルチカーソルと列選択のショートカットを変更するを参照してください。
マルチカーソルと列選択のショートカットを変更してください
別のショートカットは、マルチカーソルと列(ボックス)の選択に使用できます。 代替選択では、ショートカットは次のように変化します。
-
1つのセルに複数のカーソルを作成するには:
- macOSでは、
Cmd
キーを押しながら各場所をクリックしてカーソルを追加します。 - Windows では、
Ctrl
キーを押しながら各場所をクリックしてカーソルを追加します。
- macOSでは、
-
列内の複数のアイテムを選択するには、キャプチャする領域の左上にある をクリックします。 そうしたら:
- macOS では、
Option
キーを押しながら右下にドラッグして、1 つ以上の列をキャプチャします。 - Windows では、
Alt
キーを押しながら右下にドラッグして、1 つ以上の列をキャプチャします。
- macOS では、
代替ショートカットを有効にするには、次の操作を行います。
- ワークスペースの右上にあるユーザー名をクリックし、ドロップダウンリストの 設定 をクリックします。
- 設定 サイドバーで、 開発者 を選択します。
- コード エディター セクションで、 マルチカーソル クリックのキー修飾子 設定をmacOS の場合は Cmd に、Windows の場合は Ctrl に変更します。
代替ショートカットを有効にしても、垂直方向に揃えられた複数のカーソルを作成するためのキーボード ショートカットは変更されません。
データを参照
スキーマ ブラウザーを使用して、ノートブックで使用できる Unity Catalog オブジェクトを調べます。 ノートブックの左側にあるをクリックし、スキーマブラウザを開きます。
「For you 」ボタンには、現在のセッションで使用したオブジェクト、または以前にお気に入りとしてマークしたオブジェクトのみが表示されます。
フィルタ ボックスにテキストを入力すると、入力したテキストを含むオブジェクトのみが表示されるように表示が変わります。現在開いているオブジェクト、または現在のセッションで開かれていたオブジェクトのみが表示されます。 フィルター ボックスでは、ノートブックで使用可能なカタログ、スキーマ、テーブル、ボリュームの完全な検索は行われません。
ケバブメニューを開くには、次に示すようにオブジェクトの名前にカーソルを合わせます。
オブジェクトがテーブルの場合は、次の操作を実行できます。
- セルを自動的に作成して実行し、テーブル内のデータのプレビューを表示します。テーブルのケバブメニューから「 新しいセルでプレビュー 」を選択します。
- カタログ、スキーマ、またはテーブルをカタログ エクスプローラで表示します。 ケバブメニューから「 カタログエクスプローラーで開く 」を選択します。 新しいタブが開き、選択したオブジェクトが表示されます。
- カタログ、スキーマ、またはテーブルへのパスを取得します。 オブジェクトのケバブメニューから コピー...パス を選択します。
- テーブルをお気に入りに追加します。 テーブルのケバブメニューから お気に入りに追加 を選択します。
オブジェクトがカタログ、スキーマ、またはボリュームの場合は、オブジェクトのパスをコピーするか、カタログエクスプローラーで開くことができます。
テーブル名または列名をセルに直接挿入するには、以下を実行します。
- 名前を入力したい場所のセルでカーソルをクリックします。
- スキーマブラウザでテーブル名または列名の上にカーソルを移動します。
- オブジェクトの名前の右側に表示される二重矢印
をクリックします。
WebターミナルとDatabricks CLIを使用する
ノートブックで Web ターミナルを開くには、右サイドバーの下部のをクリックします。
Webターミナルで Databricks CLI を使用する
Databricks Runtime 15.0以降、ノートブックのWebターミナルからDatabricks CLIを使用できます。
必要条件
- ノートブックは、 専用 (以前のシングル ユーザー) または 分離なし共有 アクセス モードでクラスターにアタッチする必要があります。
- CLIは、Private サービス Connect が有効になっているワークスペースでは使用できません。
インストールされているCLIは常に最新バージョンです。 認証は現在のユーザーに基づいて行われます。
ノートブックセルから CLI を使用することはできません。 ノートブックでは、 %sh databricks ...
のようなコマンドは Databricks Runtime 15.0 以降では機能しません。
パーソナライズされたオートコンプリート
オートコンプリートは、コード セグメントを入力すると自動的に補完されます。補完可能なオブジェクトには、型、クラス、オブジェクトのほか、SQL データベース、テーブル名、 クエリ スニペットが含まれます。Databricks は、Unity Catalog のメタデータと使用状況を使用して、提案をパーソナライズします。
- Pythonセルの場合、オートコンプリートを機能させるにはノートブックをクラスターにアタッチする必要があり、コンプリート可能なオブジェクトを定義するすべてのセルを実行する必要があります。
- セルが SQL の場合、オートコンプリートは、ノートブックがコンピュート リソースにアタッチされていない場合でも、キーワードと基本的な構文を提案します。
- ワークスペースが Unity Catalog で有効になっている場合、オートコンプリートでは、Unity Catalog 内のテーブルのカタログ名、スキーマ名、テーブル名、および列名も提案されます。
- ワークスペースが Unity Catalogに対して有効になっていない場合、テーブル名または列名を提案するには、ノートブックをクラスターまたは SQLウェアハウス にアタッチする必要があります。
オートコンプリートの候補は、セルに入力すると自動的に表示されます。 上矢印キーと下矢印キー、またはマウスを使用して候補を選択し、 タブ または Enter キーを押して選択内容をセルに挿入します。
R ノートブックのサーバー オートコンプリートは、コマンドの実行中にブロックされます。
注意すべき ユーザー設定は 2 つあります。
- オートコンプリートの候補をオフにするには、 入力時にオートコンプリート を切り替えます。 オートコンプリートがオフの場合、 Ctrl + Space を押すとオートコンプリートの候補を表示できます。
- Enter キーがオートコンプリート候補を挿入しないようにするには、 Enter キーでオートコンプリート候補を受け入れます を切り替えます。
ブラケットのマッチング
括弧、角括弧、または中括弧の近くをクリックすると、その文字とそれに対応する括弧がハイライト表示されます。
Python エラーの強調表示
Databricks Assistant が有効になっているワークスペースでは、AI 支援の提案に対して Fix with Assistant を選択することもできます。
Databricks ノートブックでは、次のエラーの強調表示がサポートされています。
- Python 構文エラーの強調表示 : Python コード セルの構文エラーは赤で強調表示されます。可能であれば、アシスタントが迅速な解決策を提案します。これは、 Databricks Runtime 12.1 以降を実行しているコンピュート、またはサーバレス コンピュートでサポートされています。 シンタックスエラーの強調表示は、
pyproject.toml
ファイルで設定できます。「Python 構文の強調表示を構成する」を参照してください。 - Python 形式のエラーの強調表示 : Python コードの書式設定のエラーと警告は、重大度に応じて黄色または赤で下線が引かれます。これは、予期しないインデント、長い行の長さなどの書式設定の問題を特定するのに役立ちます。構文の警告にカーソルを合わせると、詳細情報が表示されます。これは、 Databricks Runtime 12.1 以降を実行しているコンピュート、またはサーバレス コンピュートでサポートされています。
- Python の型エラーの強調表示 : 型チェックにより、Python プロジェクトと PySpark プロジェクトのコードの品質、読みやすさ、保守性を向上させることができます。型チェッカーは、コードが実行される前に、存在しない属性、欠落している引数、および関数呼び出しの不一致に関連するエラーにフラグを立てることができます。強調表示された警告にカーソルを合わせると、詳細情報が表示されます。これは、 Databricks Runtime 16.0 以降を実行しているコンピュート、またはサーバレス環境 2 でサポートされています。
Python エラーの強調表示を有効にする
エラーの強調表示を有効または無効にするには、次の操作を行います。
- ワークスペースの右上にあるユーザー名をクリックし、ドロップダウンリストの 設定 をクリックします。
- 設定 サイドバーで、 開発者 を選択します。
- Python 構文エラーの強調表示 ( コード エディター の下)、 Python 形式のエラーの強調表示 ( 実験的な機能 の下)、 Python タイプのエラーの強調表示 ( 実験的な機能 の下) の設定を切り替えます。
Python 構文の強調表示を構成する
ノートブックがDatabricks Runtime16.4 以降またはクライアント 3.0 以降を実行している クラスターに接続されている 場合、pyproject.toml
ファイルを作成することで、構文の強調表示の動作をカスタマイズできます。特定のノートブックにおいて、ワークスペース ファイル システム内の直接の祖先パスで最も近い pyproject.toml
ファイルが使用されます。先祖パスに見つからない場合は、現在のユーザーのホームフォルダーにある pyproject.toml
ファイルが使用されます。
たとえば、パスが a/b/c/d/notebook.py
のノートブックがあり、a/b/pyproject.toml
と a/b/c/pyproject.toml
に pyproject.toml
ファイルがある場合は、2 番目のファイルの方が近いため、2 番目のファイルが使用されます。/a/b/c/e/pyproject.toml
にある pyproject.toml
ファイルは、 直接 の祖先パスにないため、考慮されません。
Databricks では、 pyproject.toml
ファイルに標準構文を使用します。たとえば、 Ruff のドキュメント を参照して、 pyproject.toml
ファイルを使用して Ruff linter を構成する方法を確認できます。
現在、Databricks は、pyproject.toml
によるリンティングの ruff
、 pylint
、 pyright
、 flake8
の構成のみをサポートしています。
リンターを有効にするには、 pyproject.toml
ファイルに [tool.<name-of-linter>]
ブロックが必要です。
リンターを明示的に無効にするには、次のブロックを追加します。
[tool.<name-of-linter>]
disabled=true
Databricks で記述された構文強調表示ルールを、次のようなブロックで無効にすることもできます。
[tool.databricks]
disabled_rules = ['DB01', 'DB03']
Flake8 は異なる形式の設定を期待しているため、Flake8 の設定を文字列として渡す必要があります。
[tool.flake8]
config = """ \
[flake8] \
extend_ignore = E303 \
"""