3
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

何のことかと思われるかもしれませんが、こちらです。

Format code cells

とりあえず、該当のセクションの翻訳を。後で下のマニュアルの翻訳にマージします。

コードセルのフォーマット

Databricksでは、ノートブックのセルにあるPythonとSQLのコードをクイックかつ簡単にフォーマットするツールを提供しています。これらのツールによって、コードがフォーマットされた状態を維持し、どのノートブックにおいても同じコーディング規約を強制する助けとなります。

Pythonセルのフォーマット

プレビュー
この機能はパブリックプレビューです。

Databricksランタイム11.2以降では、ノートブック内のコードをフォーマットするためにBlackを使用します。ノートブックはクラスターにアタッチされている必要があり、ノートブックがアタッチされているクラスター上でBlackが実行されます。

PythonとSQLのセルをどの様にフォーマットするのか

コードをフォーマットするにはノートブックのCan Edit権限が必要となります。

以下の方法で、フォーマッターを起動することができます。

  • 単一セルのフォーマット

    • キーボードショートカット:Cmd+Shift+Fを押します。
    • コマンドコンテキストメニュー
      • SQLセルのフォーマット:SQLセルのコマンドコンテキストドロップダウンメニューのFormat SQLを選択します。このメニュー項目はSQLノートブックセルか%sql言語マジックを持つセルでのみ表示されます。
      • Pythonセルのフォーマット:PythonセルのコマンドコンテキストドロップダウンメニューのFormat Pythonを選択します。このメニュー項目はPythonノートブックセルか%python言語マジックを持つセルでのみ表示されます。
  • 複数セルのフォーマット

    複数のセルを選択し、Edit > Format Cell(s) を選択します。1つ以上の言語のセルを選択した場合には、PythonとSQLのセルがフォーマットされます。これには%sql%pythonを使用しているものも含まれます。

  • ノートブック内のすべてのPythonとSQLセルのフォーマット

    Edit > Format Notebookを選択します。1つ以上の言語のセルが含まれている場合には、PythonとSQLのセルがフォーマットされます。これには%sql%pythonを使用しているものも含まれます。

制限

  • Blackは4スペースのインデントに対してPEP 8を強制します。インデントの設定はできません。
  • SQL UDFの中に埋め込まれたPython文字列のフォーマットはサポートされていません。同様に、Python UDF内のSQL文字列のフォーマットもサポートされていません。

実際に試してみる

Databricksランタイム11.2以降のクラスターを起動して、ノートブックをアタッチします。
Screen Shot 2022-10-23 at 17.16.45.png

フォーマットしたいセルに移動してコンテキストメニューを展開します。Pythonをフォーマットを選択します。特に14行に注目していてください。個人的にはこの状態は耐えられません。
Screen Shot 2022-10-23 at 17.17.48.png

綺麗にフォーマットされました!
Screen Shot 2022-10-23 at 17.18.43.png

ノートブック全体をフォーマットするには編集 > ノートブックをフォーマットを選択します。
Screen Shot 2022-10-23 at 17.19.22.png

フォーマッターを用いることで、共通のコード規約を強制できるとチーム間でのコード共有が捗ると思います。

Databricks 無料トライアル

Databricks 無料トライアル

3
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
3
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?