概要
Databricks にてノートブックが Jupyter Notebook 形式(.ipynb)で保存されてしまう事象に対して、 Python ファイル形式(.py)で保存する方法として下記の方法を共有します。
- ノートブックごとに設定を変更する方法
- フォルダのエクスポート/インポートにより置換する方法
Databricks では表示上は Notobooke 形式であるが内部では Python 形式で保持されていました。それを意識するタイミングとしては、 Git にてコードを管理する場合などでした。ある時から、Python ファイル形式ではなく、Jupyter Notebook 形式(.ipynb)で保持できるようになりました。

引用元:Databricks Git フォルダーでファイル資産を管理する - Azure Databricks | Microsoft Learn
どのような形式で保持すべきかは状況に応じて変わりますが、Jupyter Notebook 形式(.ipynb)で管理することのデメリットとしてファイルとしての可読性が悪いことがあります。また、実行結果の出力も可能であることから、データ流出のリスクを抱える可能性もあります。
Jupyter Notebook 形式(.ipynb)で表示した場合

Python ファイル形式で表示した場合

そこで、本記事では Jupyter Notebook 形式(.ipynb)を Python ファイル形式への変換方法を紹介します。
事前準備
1. python 形式のファイルを作成

2. 1のファイルをクローンして、File -> Change Notebook formatを選択し、Jupyter notebook format(.ipynb)を選択した上でChangeをクリック


3. 2 のファイルをクローン

4. コード内容を Git にコミットし、 Python 形式と Jupyter Notebook 形式が混在していることを確認


対応方法
1. ノートブックごとに設定を変更する方法
1-1. Jupyter Notebook 形式(.ipynb)になっているノートブックを開き、File -> Change Notebook formatを選択

1-2. Source fomatに設定した上でChangeを選択

1-3. 変更履歴で Jupyter Notebook 形式が削除されていること(D)とPython 形式が作成されたこと(A)を確認しコミット

1-4. Git 上で Python ファイル形式になっていることを確認

2. フォルダのエクスポート/インポートにより置換する方法
2-1. Jupyter Notebook 形式のノートブックを保持しているフォルダにて、ハンバーガーボタン(⁝) -> Export -> Source Fileを選択してノートブック郡をエクスポート

2-2. エクスポートたフォルダを削除(Move to Trashを選択)

2-3. Confirm and move to Trashを選択

2-4. フォルダが存在したディレクトリに移動語、右上のハンバーガーボタン(⁝) -> Importを選択

2-5. 先ほどエクスポートしたファイルをドラッグしてImportを選択

2-6. manifest.mfというファイルが存在する場合には削除

2-7. 変更履歴で Jupyter Notebook 形式が削除されていること(D)とPython 形式が作成されたこと(A)を確認しコミット

2-8. Git 上で Python ファイル形式になっていることを確認
