Microsoft Fabric Notebookは、Apache Spark ジョブと機械学習実験を開発するための主要なコード項目です。 これは、データ サイエンティストやデータ エンジニアが、豊富な視覚化と Markdown テキストの恩恵を受けながらコードを記述するために使用する、Web ベースの対話型サーフェスです。 データ エンジニアは、データ インジェスト、データ準備、データ変換のためのコードを作成します。 データ サイエンティストは、実験やモデルの作成、モデルの追跡、展開などの機械学習ソリューションを構築するためにNotebookも使用します。
Fabric Notebookを使用すると、次のことが可能になります。
- 設定作業をせずに使用を開始する。
- 直感的なローコード エクスペリエンスにより、データを簡単に探索して処理できます。
- 組み込みのエンタープライズ セキュリティ機能を使用してデータを安全に保つ。
- 強力な Spark 機能を使用して、未加工の形式 (CSV、txt、JSON など)、処理されたファイル形式 (parquet、Delta Lake など) にわたるデータを分析する。
- 高度な作成機能と組み込みのデータの視覚化で生産性を高める。
この記事では、データ サイエンスおよびデータ エンジニアリングのエクスペリエンスでNotebookを使用する方法について説明します。
ノートブックの実行におけるセキュリティコンテキスト
ノートブックの実行は、それぞれ異なるセキュリティ コンテキストを持つ 3 つの方法でトリガーできます。
- 対話型実行: UI または REST API を使用して手動で実行をトリガーします。 ノートブックは、セキュリティ コンテキスト (現在のユーザー) で実行されます。
- パイプライン アクティビティとして実行: Fabric Data Factory パイプラインから実行がトリガーされます。 詳細については、 Notebook アクティビティ を参照してください。 ノートブックは、パイプライン所有者またはノートブック所有者ではなく、 パイプラインの最後に変更されたユーザーの ID で実行されます。 つまり、パイプラインを最後に編集したユーザーが、データ アクセス、API 呼び出し、アクセス許可のセキュリティ コンテキストを決定します。
- スケジューラ: スケジュールされた実行から実行がトリガーされます。 ノートブックは、スケジュールを作成または最後に更新したユーザーの ID で実行されます。
これらの実行オプションを使用すると、さまざまなシナリオに柔軟に対応できますが、ノートブックを実行する ID を理解する必要があります。 セキュリティ コンテキストは、データ アクセスのアクセス許可、API 呼び出しの承認、およびリソースの可用性に影響します。 一部の API (T-SQL エンドポイントなど) はサービス プリンシパルをサポートせず、ユーザー プリンシパルを必要とします。
ノートブックが初めて作成されたときに、コードを確認せずに実行するリスクを通知する警告メッセージが表示されます。
セキュリティの問題を回避するには、次のベスト プラクティスに従います。
- ノートブックを手動で実行する前に:ノートブックを最後に変更したユーザーを確認し、 バージョン履歴 パネルを使用して実際のコンテンツの変更を確認してから、記述しなかったコードを実行します。
- ノートブックをパイプラインに追加する前に:ノートブックがそのユーザーの ID で実行されるため、パイプラインを最後に変更したユーザーを確認します。 パイプラインからノートブックを開き、最新のコンテンツを確認します。 ID に必要なアクセス許可がない場合 (または、特定の API のサービス プリンシパルではなくユーザー プリンシパルが必要な場合) は、適切なユーザーにパイプラインを編集して、最後に変更された ID を更新させます。
- スケジュールを作成または更新する前: ノートブックは、スケジュールを作成または更新するユーザーの ID で実行されます。 ユーザーがノートブック内のすべての操作に必要なアクセス許可を持っていることを確認します。
- ワークスペース ステージを使用する: ワークスペースを開発、テスト、および prod ステージに分割します。 運用ワークスペースへのアクセスを信頼されたユーザーのみに制限します。
ノートを作成する
新しいNotebookを作成することも、既存のNotebookをインポートすることもできます。
新しいNotebookを作成する
他の標準的な Fabric 項目の作成プロセスと同様に、Fabric Data Engineering ホームページ、ワークスペースの [新規] オプション、または [ハブの作成] から新しいNotebookを簡単に作成できます。
既存のNotebookをインポートする
ワークスペース ツール バーのエントリを使用して、ローカル コンピューターから 1 つ以上の既存のノートブックをインポートできます。 ファブリック ノートブックは、標準の Jupyter Notebook .ipynb ファイルと、.py、.scala、.sqlなどのソース ファイルを認識し、それに応じて新しいノートブック項目を作成します。
Notebookをエクスポートする
Notebookを他の標準形式にエクスポートできます。 Fabric ノートブックは次の形式にエクスポートできます。
Notebookを保存する
Fabric では、ノートブックを開いて編集すると、標準でノートブックが自動的に保存されます。コードの変更が失われることを心配することはありません。 [コピーの保存] を使用して、現在のワークスペースまたは別のワークスペースに別のコピーのクローンを作成することもできます。
Notebookを手動で保存したい場合は、手動保存オプションに切り替えてNotebook項目のローカル ブランチを作成してから、[保存] または [CTRL+s] を使用して変更を保存することができます。
[編集]->[保存オプション]->[手動] を選択して手動保存モードに切り替えることもできます。 Notebookのローカル ブランチをオンにしてから手動で保存するには、[保存] を選択するか、Ctrl + s キーボード ショートカットを使用します。
LakehouseとNotebookを接続する
Fabric Notebookは、Lakehouseとの緊密な対話をサポートするようになりました。Lakehouse エクスプローラーから新規または既存のLakehouseを簡単に追加できます。
Lakehouse エクスプローラーでさまざまなLakehouseに移動し、1 つのLakehouseを固定してデフォルトとして設定できます。 その後、デフォルトの設定がランタイム作業ディレクトリにマウントされ、ローカルパスを使用してデフォルトのレイクハウスに対して読み取りや書き込みを行うことができます。
注
新しいLakehouseを固定するか、デフォルトのLakehouseの名前を変更した後、セッションを再起動する必要があります。
Lakehouseを追加または削除する
Lakehouse名の横にある [X] アイコンを選択すると、LakehouseがNotebook タブから削除されますが、Lakehouse項目はワークスペースに残ります。
[Lakehouseの追加] を選択して、既存のLakehouseを追加するか、新しいLakehouseを作成して、さらにLakehouseをNotebookに追加します。
レイクハウス ファイルを調べる
Lake ビューの Tables と Files セクションにあるサブフォルダーとファイルは、Lakehouse リストとNotebook コンテンツの間のコンテンツ領域に表示されます。 Tables と Files セクションで別のフォルダーを選択して、コンテンツ領域を更新します。
フォルダーとファイルの操作
右クリックでファイル (.csv,.parquet、.txt、.jpg、.pngなど) を選択した場合は、Spark または Pandas API を使用してデータを読み込むことができます。 新しいコード セルが生成され、フォーカス セルの下に挿入されます。
選択したファイルまたはフォルダーとは異なる形式のパスを簡単にコピーし、コード内で対応するパスを使用できます。
Notebook のリソース
Notebook リソース エクスプローラーは、フォルダーとファイルの管理に役立つ Unix のようなファイル システムを提供します。 コード モジュール、セマンティック モデル、イメージなどの小さなサイズのファイルを保存できる書き込み可能なファイル システム スペースを提供します。 ローカル ファイル システムを操作しているかのように、Notebook内のコードを使用して簡単にアクセスできます。
注
- 組み込みフォルダーと環境フォルダーはいずれも最大リソース ストレージは 500 MB であり、1 つのファイル サイズは最大 100 MB です。 どちらも合計で最大 100 個のファイルおよびフォルダー インスタンスを使用できます。
-
notebookutils.notebook.run()を使用する場合は、notebookutils.nbResPathコマンドを使用して対象のNotebook リソースにアクセスします。 相対パス builtin/ は常にルート ノートブックの組み込みフォルダーを指します。
組み込みのリソース フォルダー
組み込みのリソース フォルダーは、各ノートブックに固有のシステム定義フォルダーです。 組み込みのリソース フォルダーを使用して、現在のノートブックで使用されているデータを格納することをお勧めします。 ノートブック リソースの主な機能は次のとおりです。
- UI を通じて、作成/削除、アップロード/ダウンロード、ドラッグ/ドロップ、名前変更、複製、検索などの一般的な操作を使用できます。
-
builtin/YourData.txtのような相対パスを使用すると、すばやく探索できます。notebookutils.nbResPathメソッドは完全なパスの作成に役立ちます。 - [Lakehouse への書き込み] オプションを使用して、検証済みのデータをLakehouseに簡単に移動できます。 Fabric には、一般的なファイルの種類に対応した豊富なコード スニペットが埋め込まれており、すぐに使い始めることができます。
- これらのリソースは、「リファレンスノートブック実行」ケースでもを介して使用できます。
環境リソース フォルダー
環境リソース フォルダーは、複数のノートブック間のコラボレーションを効率化するように設計された共有リポジトリです。
環境内には [リソース] タブがあり、ここでリソース ファイルを管理する操作をすべて行うことができます。 ノートブックを現在の環境にアタッチすると、これらのファイルを複数のノートブック間で共有できます。
[ノートブック] ページでは、アタッチされた環境から継承された [リソース] の下に、2 つ目のルート フォルダーを簡単に確認できます。
組み込みのリソース フォルダーと同じファイル/フォルダーを操作することもできます。
環境リソース パスは、ノートブック クラスターに自動的にマウントされます。 /env
相対パスを使用して、環境リソースにアクセスできます。
注
高 コンカレンシー セッションでは、相対パスを使用した読み取り/書き込みが機能していません。
ファイル エディター
ファイル エディターを使用すると、ユーザーが、ノートブックのリソース フォルダーおよびノートブックの環境リソース フォルダー内で、ファイルを直接表示および編集することができます。 サポートされているファイルの種類には、CSV、TXT、HTML、YML、PY、SQL などがあります。 ファイル エディターを使用すると、ノートブック内のファイルに簡単にアクセスして変更できます。また、キーワードの強調表示をサポートしており、.py や .sql などのコード ファイルを開いて編集するときに必要な言語サービスを提供します。
この機能には、ファイル メニューの [表示と編集] からアクセスできます。 ファイルをダブルクリックする方がより早い方法です。
ファイル エディターのコンテンツ変更は、
[保存] ボタンまたはキーボード ショートカットをクリックして手動で 保存する必要があります。Ctrl + S、ファイル エディターでは自動保存はサポートされません。 ノートブック モード は、ファイル エディターにも影響します。 編集アクセス許可のないノートブック モードでは、ファイルの表示のみが可能ですが、編集することはできません。
注
ファイル エディターにはいくつかの制限があります。
- ファイル サイズの制限は 1 MB です。
- 次のファイルの種類は表示と編集がサポートされていません: .xlsx と .parquet。
Notebookで共同作業を行う
Fabric Notebookは、複数のユーザーによる同じNotebookの編集をサポートする共同作業項目です。
ノートブックを開くと、既定で共同編集モードに入り、ノートブックのすべての編集が自動的に保存されます。 同僚が同時に同じNotebookを開いた場合は、同僚のプロファイル、実行出力、カーソル インジケーター、選択インジケーター、編集トレースが表示されます。 共同作業機能を使用することで、ペア プログラミング、リモート デバッグ、個別指導のシナリオを簡単に実行できます。
Notebookを共有する
Notebookの共有は、チーム メンバーと共同作業を行うための便利な方法です。 承認されたワークスペース ロールは、デフォルトでNotebookを表示または編集/実行できます。 指定したアクセス許可が付与されたNotebookを共有できます。
Notebook ツールバーの [共有] を選択します。
このノートを閲覧できるユーザーに対応するカテゴリを選択してください。 受信者の [共有]、[編集]、または [実行] アクセス許可を選択できます。
[適用] を選択した後、Notebookを直接送信するか、リンクを他のユーザーにコピーできます。 その後、受信者は、アクセス許可レベルによって付与された対応するビューを使用してNotebookを開くことができます。
ノートブックのアクセス許可をさらに管理するには、[ワークスペース項目の一覧]>[その他のオプション] を選択してから、[アクセス許可の管理] を選択します。 その画面から、既存のNotebookのアクセスとアクセス許可を更新できます。
コード セルにコメントを付ける
コメントは、共同作業のシナリオで役立つもう 1 つの機能です。 現在、Fabric ではセルレベルのコメントの追加がサポートされています。
Notebookのツールバーまたはセルのコメント インジケーターの [コメント] ボタンを選択して、[コメント] ウィンドウを開きます。
コード セルでコードを選択し、[コメント] ペインで [新規] を選択してコメントを追加し、[コメントの投稿] を選択して保存します。
必要な場合は、コメントの横にある [その他] オプションを選択して、コメントの編集、スレッドの解決、スレッドの削除オプションを見つけます。
コメント内の他のユーザーをタグ付けする
"タグ付け" とは、コメント スレッドでユーザーにメンションして通知し、詳細に対する共同作業を効率的に強化することを指します。
セル内のコードセクションと新しいコメント スレッドを選択します。
特定のセクションに関するディスカッションで他のユーザーにメンションを付ける場合は、ユーザー名を入力し、候補リストから正しいものを選択します。
分析情報を共有し、投稿します。
電子メール通知がトリガーされ、ユーザーは [コメントを開く] リンク
クリックして、このセルをすばやく見つけます。 さらに、アクセス権を持たないユーザーにタグを付けるときに、ユーザーのアクセス許可を承認して構成し、コード資産が適切に管理されるようにします。
注
コメント アイテムの場合、1 時間以内にコメントを更新した場合、タグ付けされたユーザーは電子メール通知を受信しなくなります。 ただし、新しいタグ付けされたユーザーに電子メール通知が送信されます。
バージョン履歴
重要
この機能はプレビュー段階にあります。
バージョン履歴を使用すると、ライブ ノートブックの変更を簡単にバージョン管理できます。 これは、堅牢な組み込みのバージョン管理機能を備えた履歴追跡とノートブック管理をサポートします。これは、同じノートブック上の複数の共同作成者との共同作業に特に役立ちます。
ノートブックのグローバル ツール バーからバージョン 履歴 にアクセスします。
Notebook では、チェックポイントを作成する 2 つの方法がサポートされています。
チェックポイントをクリックすると、の差分ビューを開くことができます。選択したチェックポイントと現在のライブ バージョンのコンテンツの違い (セルの内容、セルの出力、メタデータの違いなど) が強調表示されます。 このチェックポイントのバージョンは、[その他のオプション] メニュー
個別に管理できます。 既存のバージョンを保持する場合は、チェックポイント のドロップダウン メニューからバージョンを管理できます。チェックポイントから [復元 ] をクリックして現在のノートブックを上書きするか、 コピーとして保存 して新しいノートブックに複製します。
注
ノートブック モードの切り替え
ファブリック ノートブックでは、簡単に切り替えることができる 4 つのモードがサポートされています。 モードの開発
- 開発モード: 読み取り、実行、書き込みのアクセス許可が必要です。
- 実行のみモード: 読み取り、実行のアクセス許可が必要です。
- 編集モード: 読み取り、書き込みのアクセス許可が必要です。
- 表示モード: 読み取りアクセス許可が必要です。
