Python ノートブックまたは Apache Spark ジョブ定義を作成するときに、適切なスタイルと規約を採用することには多くの利点があります。 コードを一貫して書式設定することで、次のことができます。
- コードを読みやすくします。
- コードの保守性が向上します。
- コード レビューをより迅速に実施します。
- バージョン間の変更を検出する、より正確な差分を実行します。
具体的には、この記事では、PEP 8 準拠のコード フォーマッタを使うように Fabric ノートブックを拡張する方法について説明します。
Note
PEP は、Python Enhancement Proposals (Python 拡張提案) の頭字語です。 PEP 8 は、Python コードのコーディング規則について説明するスタイル ガイドです。
Fabric ノートブックを拡張する
"ノートブック拡張機能" を使って Fabric ノートブックを拡張できます。 ノートブック拡張機能は、ノートブック インターフェイスに新しい機能を追加するソフトウェア コンポーネントです。 拡張機能をライブラリとしてインストールし、特定のニーズに合わせて設定します。
この記事では、Fabric ノートブックで Python コードを書式設定するために使用できる 2 つの拡張機能について説明します。 どちらの拡張機能も GitHub から無料で入手できます。
- black Python コード フォーマッタ拡張機能。
- jupyter-black フォーマッタ拡張機能。Jupyter Notebook または Jupyter Lab でコードを自動的に書式設定するために使うこともできます。
コード フォーマッタ拡張機能を設定する
Fabric ノートブックでコード フォーマッタ拡張機能を設定するには 2 つの方法があります。 1 つ目の方法にはワークスペースの設定が含まれ、2 つ目の方法にはインライン インストールが含まれます。 拡張機能をインストールした後で、コードの書式設定を有効にします。
ワークスペースの設定
ワークスペース設定を使って、Fabric ワークスペースの作業環境を設定します。 ワークスペース内の任意のノートブックと Spark ジョブ定義でライブラリを使用できるようにするには、環境を作成してライブラリをインストールします。その後、ワークスペース管理者は、その環境をワークスペースのデフォルトとしてアタッチできます。 そのため、コード フォーマッタ拡張機能がワークスペースのデフォルト環境にインストールされている場合、ワークスペース内のすべてのノートブックがその恩恵を受けられます。
環境の詳細については、「Microsoft Fabric で環境を作成、構成、および使用する」を参照してください。
インライン インストール
ワークスペース内のすべてのノートブックではなく、特定のノートブックのライブラリをインストールする場合は、インライン インストール方法を使います。 このアプローチは、ワークスペース内の他のノートブックに影響しない一時的または迅速な解決策が必要な場合に便利です。
インライン インストールの実行方法については、「インライン インストール」を参照してください。
次の例では、%pip コマンドを使って、最新バージョンの Jupyter-black 拡張機能をドライバー ノードと Executor ノードの両方にインストールします。
# Install the latest version by using %pip command
# It will be available on both driver and executor nodes
%pip install jupyter-black
コードの書式設定を有効にする
コードの書式設定拡張機能をインストールした後、ノートブックのコードの書式設定を有効にする必要があります。 これを行うには、拡張機能を読み込みます。これは 2 つの方法のいずれかで実行できます。
%load_ext
マジック コマンドを使います。
# Load the jupyter-black extension
%load_ext jupyter_black
あるいは、プログラミング API を使って読み込み拡張機能を使います。
import jupyter_black
jupyter_black.load()
ヒント
すべてのノートブックでコードの書式設定が有効になるようにするには、テンプレート ノートブックで書式設定を有効にします。これはエンタープライズ開発シナリオで役立ちます。
コードの書式設定
コードを書式設定するには、書式設定するコード行を選び、Shift+Enter キーを押します。
次の 11 行のコードはまだ適切に書式設定されていません。
def unique(list_input):
list_set = set(list_input
)
unique_list = (list(
list_set
)
)
for x in unique_list:
print(
x
)
書式設定が適用された後、拡張機能によりスクリプトはわずか 5 行に減りました。 このコードでは、適切なスタイルと規則が採用されるようになりました。
def unique(list_input):
list_set = set(list_input)
unique_list = list(list_set)
for x in unique_list:
print(x)
関連するコンテンツ
Fabric ノートブックの詳細については、次の記事を参照してください。
- Microsoft Fabric で Apache Spark ライブラリを管理する
- 疑問がある場合 Fabric コミュニティで質問してみてください。
- Power BI チームへのご提案は、 Fabric 改善のアイデアを投稿してください。