Databricksノートブックのアップグレードのご紹介 - 新たなエディタ、Pythonフォーマットなどなど

[Introducing Upgrades to the Databricks Notebook \- New Editor, Python Formatting, and More \- The Databricks Blog](https://www.databricks.com/blog/2022/12/20/introducing-upgrades-databricks-notebooks-new-editor-python-formatting-and-more)の翻訳です。

:::note warn
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
:::

Databricksノートブックはデータ、AIプロダクトを構築するすべての人に対して、シンプルかつ統合された環境を提供します。本日、ノートブックのエクスペリエンスのアップデートを紹介できることを嬉しく思います。

1. コーディングを加速するための、高速なオートコンプリート、改善された構文ハイライト、コード折りたたみなどを提供する新たなエディタ
1. コードをより読みやすく、レビューしやすくるために[Black](https://black.readthedocs.io/en/stable/)を用いたPythonコードのフォーマッター
1. デバッグを加速するためのノートブック内の選択テキストの実行

**クリックすると別タブで動画が開きます**

https://vimeo.com/782949959?embedded=true&source=vimeo_logo&owner=40921445

# 新たなノートブックエディタ

我々の新たなエディタは、ユーザーによるコーディングをより簡単かつ高速にし、エラーの混入を防ぐための数多くの機能を提供します。皆様がIDEからブラウザにシームレスに移行して、同様のユーザーエクスペリエンスを感じていただければと考えています。我々は皆様の生活をよりストレスのないものにするために、MicrosoftのVS Codeで動作しているオープンソースエディタであるMonacoを導入しました。

# タイプするとオートコンプリート

これまでは、Shift+Tabを押すことでオートコンプリートの提案ボックスを手動でアクティベートする必要がありました。今では新たなエディタを用いることで、タイプすると自動でオートコンプリートの提案ボックスが表示されます。

**クリックすると別タブで動画が開きます**

https://player.vimeo.com/video/781686840?embedded=true&source=vimeo_logo&owner=40921445

オートコンプリートは、Pythonのメソッドや属性のようなシンボルに対してのみ動作するのではなく、SQL文におけるテーブルやカラムに対しても動作します。また、トークナイザーからDatabricksのSQL関数を識別、追加します。これによって、エラーを削減し、最初から適切なオブジェクトを取得できるようになります。

# パラメーターのヒント

インラインのパラメーターヒントを用いて、関数呼び出しにおける引数に対して有用なリマインダーを活用します。

**Mac:** Shift-Cmd-Space
**Windows:** Ctrl-Shift-Space

![](https://cms.databricks.com/sites/default/files/inline-images/db-447-blog-image-1-1.png)

# ホバー時のdocstring

docstringを表示するためにコードのタイプや関数の上にマウスカーソルを移動します。
![](https://cms.databricks.com/sites/default/files/inline-images/db-447-blog-image-1-1.png)

# 構文ハイライト

コードを適切にハイライトすることで、コーディング、編集、トラブルシュートを加速します。Monacoエディタにおいては、コードセルのトークンのハイライトにおいて優れた処理を行います。
![](https://cms.databricks.com/sites/default/files/2022-12/db-447-blog-image-2-1.png)

# コードの折りたたみ

コードの折りたたみによって、一時的にコードのセクションを非表示にすることができます。これによって、作業しているコードの特定のセクションにフォーカスできるようになるので、長いコードブロックで作業している際には助けとなります。

**クリックすると別タブで動画が開きます**

https://vimeo.com/782950004?embedded=true&source=vimeo_logo&owner=40921445

# マルチカーソル

高速かつ同時の編集作業を行う際に複数のカーソルを追加することができます。この一般的なショートカットによって、一連の類似した入力を行い、一緒に変更したい際には、編集を容易なものにします。エディタのウィンドウで**Alt-click**を押すか、Macであれば⌥⌘↓や⌥⌘↑、Wondowsであれば**Ctrl-Alt-Down**や**Ctrl-Alt-Upを押すことでカーソルを追加できます。

**クリックすると別タブで動画が開きます**

https://player.vimeo.com/video/782950031?embedded=true&source=vimeo_logo&owner=40921445

# 行コメントの切り替え

1行のコメント、あるいは複数行のコメントを一度に切り替えることができます。これを行うためには、コードの希望の行を選択し、OSに応じたショートカットを押します。

**Mac:** Cmd-/
**Windows:** Ctrl-/

**クリックすると別タブで動画が開きます**

https://player.vimeo.com/video/782950055?embedded=true&source=vimeo_logo&owner=40921445

さらに、言語でブロックコメントがサポートされているのであれば、ブロックコメントを切り替えることもできます。

**Mac:** Option-Shift-A
**Windows:** Alt-Shift-A

**クリックすると別タブで動画が開きます**

https://player.vimeo.com/video/782949976?embedded=true&source=vimeo_logo&owner=40921445

# カラム(ボックス)選択

テキストのカラム全体を編集する際、カラム選択は非常に便利です。これを行うためには、一角にカーソルを移動し、選択するために**Option-Shift (Mac)** / **Alt-Shift (Windows)** を押しながら反対の角にドラッグします。

**クリックすると別タブで動画が開きます**

https://player.vimeo.com/video/782950010?embedded=true&source=vimeo_logo&owner=40921445

# 括弧のマッチング

括弧、中括弧、大括弧の近くをクリックすると、完全にマッチしているのかを確認できるように、対応する括弧をハイライトします。

**クリックすると別タブで動画が開きます**

https://player.vimeo.com/video/782949996?embedded=true&source=vimeo_logo&owner=40921445

# バージョン履歴における隣り合わせの差分比較

前のバージョンのノートブックを表示する際、新たなエディタは変更点を容易に確認できるように隣り合わせに差分を表示します。
![](https://cms.databricks.com/sites/default/files/inline-images/db-447-blog-image-4.png)

# Pythonコードのフォーマット

Databricksでは、PEP 8互換のコードフォーマッターである[Black](https://black.readthedocs.io/en/stable/)をサポートしました。Blackはすべてのコードを同じようにフォーマットするので、フォーマットに要する時間を削減し、本当に大事なことに必要な時間を捻出できるようになります。すべてのBlackでフォーマットされたコードは、レビューしているプロジェクトが何であるのかに関係なく同じようにスタイリングされるので、コードのレビューも加速されます。

Blackを使うには、DBR 11.2以降が動作しているクラスターに接続します。下向き矢印として表示されるセルの編集メニュー、`Format Python`をクリックすることで単一のPythonセルをフォーマットできます。また、ヘッダーにあるグローバルの編集メニューをクリックし、`Format cell(s)`や`Format notebook`を選択することで、選択された複数のセルをフォーマットできます。

**クリックすると別タブで動画が開きます**

https://player.vimeo.com/video/782949968?embedded=true&source=vimeo_logo&owner=40921445

# 選択テキストの実行

長いコードブロックをトラブルシュートする際、数行のみを実行することはデバッグの助けになります。Databricksではノートブックの**選択テキストの実行**をサポートしました。セルの1行以上をハイライトし、実行メニューの`Run selected text`を選択することで、それらの行のみを実行することができます。これによって、エラーを特定、修正するために最小ポーションをテストすることができ、デバッグに要する時間を削減することができます。

クリックすると別タブで動画が開きます

https://vimeo.com/782950043?embedded=true&source=vimeo_logo&owner=40921445

# 新たなエディタの有効化

新たなエディタはプレビュー中でありパブリックに利用できますが、デフォルトでは有効化されていません。ノートブックで新たなエディタを有効化するには:

1. ワークスペースの右上のユーザー名をクリックし、ドロップダウンから**User Settings**を選択します。
1. **Notebook Settings**タブをクリックします。
1. **Turn on the new notebook editor**の隣のチェックボックスをオンにします。

是非お試しいただき、[こちらのリポジトリ](https://github.com/databricks/notebook_gallery)の[サンプルノートブック](https://github.com/databricks/notebook_gallery/blob/main/Notebook%202.0%20Feature%20Gallery.py)をご自身のDatabricksワークスペースにインポートしてみてください。

# まとめ

Databricksにおいては、すべてのユーザーの皆様の開発体験を改善するために取り組みを続けています。ノートブックはDatabricksレイクハウスの正面玄関であり、我々は市場においてベストなデータネイティブの開発ツールであり続けるようにしたいと考えています。今年初めには、我々は[UIをシンプル](https://black.readthedocs.io/en/stable/)にし、[Jupyterとの互換性を改善](https://qiita.com/taka_yayoi/items/5ee7263cd7779afd4727)し、[分析とビジュアライゼーションのためにBamboolibを追加](https://www.databricks.com/blog/2022/08/14/low-code-exploratory-data-analysis-bamboolib-databricks.html)しました。

これは始まりに過ぎません。ノートブックの新エディタは、2023年を通じてさらにノートブックの開発者体験の改善を可能とする言語サービスに対する将来的な改善への扉を開きました。

### Databricks 無料トライアル

[Databricks 無料トライアル](https://databricks.com/jp/try-databricks)