メインコンテンツへジャンプ
Platform blog

Databricks Notebooksのアップグレードを紹介 - 新しいエディタ、Pythonフォーマットなど

ウェストン・ハッチンス
Jim Allen Wallace
Deka Auliya Akbar
Share this post

Databricks Notebooksは、データおよびAIプロダクトを構築するすべての人に、シンプルで統一された環境を提供します。本日、Notebooksのエクスペリエンスに関するアップデートを紹介します:

  1. オートコンプリートの高速化、シンタックスハイライトの改善、コードの折りたたみなど、より速くコーディングできるようになった新しいエディター。
  2. Blackを使ったPython Code Formatterでコードを読みやすく、レビューしやすく。
  3. ノートブック内で選択されたテキストを実行し、デバッグを加速させる

新しいノートブックエディター

私たちの新しいエディターは、ユーザーにとって、コーディングをより簡単に、より速く、より間違いの少ないものにするための多くの機能を可能にします。IDEからブラウザにシームレスに移行し、同様のユーザーエクスペリエンスにアクセスできるようにしたいと考えています。私たちは、MicrosoftのVS Codeを支えるオープンソースのエディターであるMonacoを採用し、あなたの生活をより快適にしています。

オートコンプリート・アズ・ユー・タイプ

これまでは、Shift+Tabを押してオートコンプリートのサジェストボックスを手動で有効にする必要がありました。新しいエディターでは、オートコンプリートのサジェストボックスが入力中に自動的に表示されるようになりました。

auto complete

オートコンプリート機能は、Pythonのメソッドや属性などの記号だけでなく、SQL文のテーブル名やカラム名にも対応します。また、トークナイザーからDatabricksのSQL関数を認識し、追加します。これにより、エラーを減らし、初回から正しいオブジェクトを取得することができます。

パラメーターのヒント

インラインパラメーターヒントで、関数呼び出しの引数の便利なリマインダーを得ることができます。

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

See what parameters are needed inside of functions

ホバー時のDocストリング

コード内の型や関数にカーソルを合わせると、docstringが表示されるようになりました。

Hover over a function to see the docstring

シンタックスハイライト(構文ハイライト)

コードが適切にハイライトされることで、コーディング、編集、トラブルシューティングが格段に速くなります。Monacoエディタでは、コードセル内のトークンをより適切にハイライトしています。

Syntax highlighting

コードフォールディング

コードフォールディングを使うと、コードの一部を一時的に隠すことができます。長いコードブロックを扱うときに、作業中のコードの特定のセクションに集中できるため、便利です。

Code collapsing

マルチカーソル

複数のカーソルを追加して、高速で同時編集を行うことができます。この一般的なショートカットは、似たような入力が続いていて、まとめて変更したい場合に編集を容易にします。エディタウィンドウのAltクリック、またはMacでは⌥↓または⌥↑、WindowsではCtrl-Alt-DownまたはCtrl-Alt-Upを押して、追加のカーソルを追加することができます。

Multi cursor

トグルラインコメント

コードの一行、または複数のコードに対して、一度にコメントを切り替えることができます。そのためには、必要なコード行を選択し、お使いのオペレーティングシステム用のショートカットを押してください。

Mac: Cmd-/
Windows: Ctrl-/

Toggle comment

さらに、言語がサポートしている場合は、ブロックコメントを使用することができます。

Mac: Option-Shift-A
Windows: Option-Shift-A

block quote

カラム(ボックス)選択

列選択機能は、テキストの列全体を編集する必要がある場合に非常に便利です。カーソルを片方の角に置き、Option-Shift(Mac)/Alt-Shift(Windows)を押しながら反対側の角までドラッグすると、選択範囲ができます。

column selection

ブラケットマッチング

括弧、角括弧、中括弧の近くをクリックすると、その文字とそれに対応する括弧が強調表示されるので、完全で一致するセットがあることを確認することができます。

Bracket matching

バージョンヒストリーのサイドbyサイドの差分

新しいノートブックエディターでは、以前のバージョンのノートブックを表示する際、何が変わったのかを簡単に確認できるよう、差分を並べて表示することができます。

Diff

Pythonコードの書式設定

Databricksは、PEP 8互換のコードフォーマッタであるBlackをサポートするようになりました。Blackはすべてのコードを同じようにフォーマットするので、フォーマットする時間を減らし、重要なものを作成する時間を増やすことができます。Blackでフォーマットされたコードは、レビューするプロジェクトに関係なく、すべて同じスタイルで表示されるため、コードレビューもより速く行うことができます。

Blackを使用するには、DBR 11.2以降でクラスタに接続します。下向きのシェブロンで示されるセルの編集メニューをクリックし、「Pythonの書式設定」をクリックすることで、単一のPythonセルをフォーマットすることができます。また、ヘッダーのグローバル編集メニューをクリックして、それぞれ「Format cell(s)」または「Format notebook」を選択すると、選択した複数のセルまたはノートブック全体をフォーマットすることができます。

Python formating

選択したテキストを実行する

長いコードブロックのトラブルシューティング中に、数行だけ実行することが役に立つことがあります。Databricksでは、ノートブックで「選択したテキストを実行」をサポートするようになりました。セル内の1つまたは複数の行をハイライトして実行メニューを開き、「選択したテキストを実行」を選択すると、その行だけを実行することができます。これにより、コードの最小部分をテストして、そこでエラーを特定して修正することができ、デバッグに費やす時間を短縮することができるようになりました。

Run selected

新しいノートブックエディターを有効にする

新しいエディターは現在プレビュー版で公開されていますが、デフォルトでは有効になっていません。Notebookで新しいエディタを有効にするには:

  1. ワークスペースの右上にある自分のユーザー名をクリックし、ドロップダウンからユーザー設定を選択します。
  2. [ノートブック設定]タブをクリックします。
  3. [新しいノートブックエディタをオンにする]の横にあるボックスをチェックします。

こちらのrepoexample notebookをDatabricksワークスペースにインポートして、実際に試してみてください。

まとめ

Databricksでは、すべてのユーザーの開発体験を向上させるために継続的に取り組んでいます。ノートブックはDatabricks Lakehouseのフロントドアであり、市場で最高のデータネイティブ開発ツールでありたいと願っています。今年初めには、UIをシンプルにし、Jupyterとの互換性を高め、分析とビジュアライゼーションのためのBamboolibを追加しました。

これはほんの始まりに過ぎません。Notebooksのための新しいエディターは、2023年を通してNotebooksの開発者体験をさらに向上させることができる、言語サービスの将来の潜在的な改善への扉も開いています。

Databricks 無料トライアル

関連記事

Platform blog

Previewing Updates to the Databricks Notebook

September 1, 2022 Austin Ford による投稿 in プラットフォームブログ
At Databricks, we are committed to delivering a world-class, data-driven development experience in the Notebook, and we are very excited to preview the...
Platform blog

Software Engineering Best Practices With Databricks Notebooks

June 25, 2022 ラフィ・カーランシクAustin Ford による投稿 in 製品
Notebooks are a popular way to start working with data quickly without configuring a complicated environment. Notebook authors can quickly go from interactive...
Platform blog

Monitoring Notebook Command Logs With Static Analysis Tools

November 2, 2022 Silvio Fiorito による投稿 in プラットフォームブログ
Background Code review and static analysis tools are standard practices in the Software Development Lifecycle (SDLC). Static analysis tools help developers find code...
プラットフォームブログ一覧へ