2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

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

Posted at

Introducing Upgrades to the Databricks Notebook - New Editor, Python Formatting, and More - The Databricks Blogの翻訳です。

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

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

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

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

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

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

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

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

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

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

パラメーターのヒント

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

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

ホバー時のdocstring

docstringを表示するためにコードのタイプや関数の上にマウスカーソルを移動します。

構文ハイライト

コードを適切にハイライトすることで、コーディング、編集、トラブルシュートを加速します。Monacoエディタにおいては、コードセルのトークンのハイライトにおいて優れた処理を行います。

コードの折りたたみ

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

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

マルチカーソル

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

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

行コメントの切り替え

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

Mac: Cmd-/
Windows: Ctrl-/

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

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

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

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

カラム(ボックス)選択

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

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

括弧のマッチング

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

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

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

前のバージョンのノートブックを表示する際、新たなエディタは変更点を容易に確認できるように隣り合わせに差分を表示します。

Pythonコードのフォーマット

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

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

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

選択テキストの実行

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

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

新たなエディタの有効化

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

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

是非お試しいただき、こちらのリポジトリサンプルノートブックをご自身のDatabricksワークスペースにインポートしてみてください。

まとめ

Databricksにおいては、すべてのユーザーの皆様の開発体験を改善するために取り組みを続けています。ノートブックはDatabricksレイクハウスの正面玄関であり、我々は市場においてベストなデータネイティブの開発ツールであり続けるようにしたいと考えています。今年初めには、我々はUIをシンプルにし、Jupyterとの互換性を改善し、分析とビジュアライゼーションのためにBamboolibを追加しました。

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

Databricks 無料トライアル

Databricks 無料トライアル

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?