Microsoft Fabric のノートブックとレイクハウス
By Mirko Peters · · Updated
Microsoft Fabric のノートブックとLakehouseを使い、拡張性の高い分析に向けたデータ変換および機械学習のワークフローを構築します。
Automatically translated with AI from the original post. Read the English original

従来のETLワークフローは時間がかかることがあります。手作業の工程も多く、保守にも多くの手間がかかります。よくある課題は次のとおりです。
制約 | 内容 |
|---|---|
手作業の負担 | スクリプトの作成やデータの更新に多くの時間を取られます。 |
高い保守コスト | データが増えるほど、時間とコストがかかります。 |
固定スキーマの課題 | データの変更によってパイプラインが壊れることがあります。修正には多くの時間がかかります。 |
データ変換にノートブックを使うと、データを一か所に集約できます。Spark と Lakehouse を использу используя Bronze-Silver-Gold パターンを適用すると、データの品質が向上します。また、データの出所を追跡しやすくなります。明確なフィードバックを得られ、チームと協力して作業を進められます。これにより、関係者全員が同じ認識を保てます。
重要なポイント
データ変換には Fabric Notebooks を使い、作業を一元管理しましょう。変更内容を把握でき、チームとの協働もしやすくなります。
データの整理には Bronze-Silver-Gold パターンに従いましょう。生データを安全に保持でき、データのクレンジングや分析に向けた準備も行いやすくなります。
ワークフローを自動化して、時間の節約とミスの防止を図りましょう。dbt Cloud や Prefect のようなツールを使うと、データ処理の計画と監視に役立ちます。
ノートブックのバージョン管理には Git を使いましょう。変更内容を追跡でき、他のメンバーと協力しやすくなり、必要に応じて過去のバージョンに戻すこともできます。
強固なアクセス制御でデータを保護しましょう。行および列レベルのセキュリティを使って機密データを守り、誰が閲覧または変更できるかを管理します。
コードファーストのデータ変換へ移行する理由
従来のETLワークフローの課題
Power Query、Excel、スクリプトをデータ変換に使ってきた方も多いのではないでしょうか。これらのツールは、データ量が増えると問題を引き起こすことがあります。「final_v2_REAL.xlsx」のようなファイルが増え、どれが正しいのか分からなくなることもあるでしょう。手作業では変更内容を追いにくくなります。データが変わるとパイプラインが壊れることもあります。こうした問題の解決には多くの時間と労力がかかります。
多くのツールを使っていると、データの出どころを見失いがちです。また、見つけにくいミスが発生することもあります。
Fabric Notebooks と Lakehouse のメリット
Fabric Notebooks と Lakehouse を使うと、データ変換をより効率的に行えます。コードを一か所に書き、Git ですべての変更を追跡できます。そのため、作業内容の確認や再実行が容易になります。データを他のツールに移動することなく、数百万行规模のデータも扱えます。
コードファーストで Git と連携したノートブックが、従来のETLツールとどう異なるかは次のとおりです。
機能 | Fabric Notebooks(コードファースト) | 従来のETLツール | メリット |
|---|---|---|---|
✅ 列レベル | ⚠️ テーブルレベル | トラブルシューティングと可視性が向上 | |
監査可能性 | ✅ 完全な履歴(Git) | ⚠️ 限定的 | 変更の追跡が明確 |
コラボレーション | ✅ 一元化されたコードベース | ⚠️ スクリプトやファイルが分散 | チームで協働でき、混乱が減る |
ビジネスルールを一か所に定義できます。チームはそのルールをダッシュボードやレポートで利用できます。これによりミスを防ぎ、全員が同じ前提で作業できます。また、チームが安全にデータを探索する助けにもなります。
コードファーストのレイヤーを使うと、次のことが可能になります。
パイプラインの各ステップを追跡できます。
同じロジックを複数のプロジェクトで再利用できます。
データ量の増加に合わせて拡張できます。
考え方の転換: 変換レイヤーとしてのノートブック
ノートブックをデータ変換の中心と考えましょう。ノートブックは唯一の信頼できる情報源です。作業内容を確認、テスト、共有できます。パラメーターを使えば、テスト用と本番用を切り替えられます。こうして、より高い制御性を確保し、データを信頼できるようになります。
ノートブックをデータの設計図と考えてください。各ステップで何が起きているかが分かります。
Bronze-Silver-Gold のデータ変換パターン
Bronze-Silver-Gold パターンは、データ変換のプロセスを整理するのに役立ちます。データは明確な3つの段階を経て処理されます。各段階には固有の役割があります。このパターンにより、データパイプラインは管理しやすく、信頼性も高まります。
Bronze: 生データの取り込み
まずは Bronze レイヤーから始めます。ここでは、さまざまなソースから生データを取り込みます。この段階ではデータはまだ変更しません。収集して安全に保存するだけです。この工程により、将来の利用に備えて元のデータを保持できます。
Bronze層にデータを読み込むには、いくつかの方法があります。よく使われる方法を以下の表にまとめました。
方法 | 説明 |
|---|---|
直接コピーアクティビティ | 未加工データをシンプルに取り込む場合に使用します。 |
ショートカット | 変換を行わず、ソースデータを直接参照します。 |
PySpark ノートブック | 形式の変換や初期解析に使用します。 |
データを読み込む際は、必ずスキーマを適用してください。これにより、エラーを早期に検出できます。不正な行があれば隔離(クオランティン)できます。こうすることで、最初の段階からデータをきれいに保てます。
ヒント: 未加工データのコピーは必ず保持してください。後で問題を修正したり、作業内容を確認したりする際に必要になることがあります。
Silver: データのクレンジングと整合性の確保
Silver層は、データをクレンジングし、標準化する段階です。エラーを修正し、重複を削除し、データがビジネスルールに合致するようにします。必要に応じてテーブルを結合し、欠損値を補完することもあります。
この層では、次の作業を行います。
各列のデータ型が正しいことを確認します。
ルールに合わない行を削除または修正します。
レコードを重複排除し、同じものを二重にカウントしないようにします。
顧客の住所など、徐々に変化するデータを処理します。
ノートブックでPySparkやpandasを使用します。これにより、各変更の手順を明確に記述できます。作業をテストし、次の段階に進む前に正しいことを確認できます。
注意: 大きな処理ステップの後には、カナリアチェックを実行してください。たとえば、行数を確認したり、空の値が多すぎないかを調べたりします。これにより、問題を早期に発見できます。
Gold: 分析とMLのための特徴量エンジニアリング
Gold層は、分析や機械学習に向けてデータを準備する段階です。タイムラグや顧客グループなどの新しい特徴量を作成します。また、ダッシュボードやモデルでそのまま使えるテーブルも構築します。
この層では、次の作業を行います。
ビジネス上の問いに答えられる特徴量を設計します。
クエリを高速化するためにテーブルをパーティション分割します。
Delta テーブルを使用して変更を追跡し、必要に応じてロールバックできるようにします。
データは必ず冪等(べきとう)な方法で書き込んでください。つまり、パイプラインを何度実行しても、誤りや二重カウントが発生しないようにするということです。Delta スナップショットを使えば、テーブルのバージョンを保存できます。問題が発生した場合は、安全なコピーに戻すことができます。
補足: Gold層は、データの価値が最も高まる段階です。作業内容を十分に確認し、信頼性を保つよう特に注意してください。
Bronze-Silver-Gold パターンに従うことで、堅牢なデータ変換パイプラインを構築できます。データを安全かつクリーンに保ち、あらゆる分析や機械学習プロジェクトに備えることができます。
ノートブックとSparkによるデータ変換のオーケストレーション
Delta テーブルの読み取りと書き込み
Fabric ノートブックでSparkを使用すると、Delta テーブルを扱えます。これにより、数百万行のデータを非常に高速に処理できます。データを移動したり、手作業で修正したりする必要はありません。Native Execution Engine を有効にすると、ジョブを最大5倍速く実行できます。データサイズに合わせて、spark.sql.files.maxPartitionBytes や spark.sql.shuffle.partitions などの設定を変更できます。Auto Compaction は、小さな書き込みが大量に発生する場合に役立ちます。テーブルの検索も高速になります。これらの対策によって、多くの企業でELTサイクルが30%速くなり、クエリが1.2倍高速になったと報告されています。
ヒント: Delta テーブルはデータをバージョンごとに保持します。操作を誤った場合でも、変更を元に戻せます。
パラメーター化と環境管理
ノートブックではパラメーターを使用してください。これにより、テスト環境と本番作業を簡単に切り替えられます。エラーを防ぎ、データを安全に保つことにも役立ちます。テストデータと本番データを分けて管理する計画を立ててください。また、カタログの計画を使ってメタデータを整理し、個人情報を保護することもできます。これにより、誰が何を閲覧できるかを管理しやすくなり、社内ルールにも従いやすくなります。
次の項目にパラメーターを使用します。
ファイルパス
ワークスペース ID
機能フラグ
注意: パラメーターを使うと、ノートブックを複数のチームで安全に再利用できます。
ワークフローの自動化とスケジュール設定
ノートブックをスケジュールに従って自動実行するように設定できます。これにより、手作業や CSV ファイルを使った作業が不要になります。dbt Cloud、Meltano、Prefectなどのツールを使うと、パイプラインを監視・制御できます。dbt Cloud は SQL ジョブに適しています。Meltano は無料で、Git と連携できます。Prefect は Python を使用し、再試行、キャッシュ、ログ機能を備えています。
自動化ツールを使うと、次のことができます。
実行のセットアップ
パイプラインの状態の監視
手作業の削減
業務プロセスを自動化すれば、ミスが減り、データからより多くの価値を引き出せます。
ガバナンス、監査性、ベストプラクティス
Git 統合とコードレビュー
Git を使うと、ノートブックへのすべての変更を追跡できます。誰がいつ変更したかを確認できます。メインのプロジェクトに追加する前に、ブランチで新しいアイデアを試せます。コードレビューにより、チームは問題を早い段階で見つけられます。全員が互いの作業を失うことなく協力できます。問題が起きても、安全なバージョンに戻せます。
メリット | 説明 |
|---|---|
誰がいつ変更したかを常に把握できます。 | |
思い切って試せる | ブランチで新しいことを試し、準備ができたら追加できます。 |
効率的に共同作業できる | 多くの人が作業を失うことなく、一緒に作業できます。 |
いつでも元に戻せる | ミスをしても、以前のバージョンに戻せます。 |
透明性と説明責任 | すべての変更が保存されるため、何が起きたかを確認できます。 |
コードレビューの改善 | Git を使うと、コードの確認と修正がしやすくなります。 |
構造化と安全性 | Git を使えば、プロジェクトを整理された状態で安全に保てます。 |
ヒント: 変更には必ずプルリクエストを使いましょう。コードを安全に保ち、確認しやすくなります。
ガードレール: スキーマチェックとカナリアクエリ
ガードレールはデータの安全を守るのに役立ちます。スキーマチェックは、テーブルに正しい列とデータ型があることを確認します。カナリアクエリは、各ステップの後に問題がないかを確認します。行数、空の値、主要な数値などを確認します。これらのチェックにより、問題がダッシュボードに届く前に見つけられます。
チェックにより、欠落している誤ったデータをすぐに発見できます。
自動修正により、過去の回答を使って一般的な問題を解決できます。
カナリアデプロイメントでは、リスクのある変更をデータの一部だけに適用してテストします。
注意: データを次のステップに移動する前に、必ずスキーマを確認してください。
セキュリティとアクセス制御
Microsoft Fabric Lakehouse の強固なセキュリティ機能を使うと、データを安全に保てます。OneLake セキュリティでは、誰がデータを閲覧または変更できるかについてのルールを設定できます。行および列レベルのセキュリティにより、each ユーザーが閲覧できる内容を制御できます。アクセスの管理には、User Identity Mode または Delegated Identity Mode を使用できます。セキュアなショートカットを使うと、リモートソースであっても元のデータを安全に保てます。
ワークスペースのアウトバウンド アクセス保護により、望ましくない接続をブロックできます。
マネージド プライベート エンドポイントを使うと、信頼できる外部リソースのみを許可できます。
ワークスペース間接続により、ワークスペース同士で安全にデータを共有できます。
データを安全に保つために、必ずアクセス設定を確認してください。
すぐに効果が出る対策とアンチパターン
次の方法でパイプラインを改善できます。
1つのパイプラインを、Git で追跡するノートブックに移行する。
スキーマチェックとカナリアクエリを追加する。
すべてのパスとワークスペース ID にパラメーターを使用する。
すべての変更にプルリクエストを使用する。
次のことは避けてください:
ノートブックのパイプラインと、Excel での手作業による修正を混在させる。
CSV を書き出して Power BI に読み込み直す。
シークレットやパスをハードコードする。
すべてを1つの巨大なノートブックで処理する。
小さな変更でも、データパイプラインをより安全で使いやすくできます。
Power BI と機械学習の統合
ゴールド テーブル上にセマンティック モデルを構築する
ゴールド テーブルを活用すると、データからより多くの価値を引き出せます。Power BI でセマンティック モデルを構築し、データを整理します。これらのモデルにより、分析とレポートが容易になります。ベストプラクティスに従えば、モデルはより役立ち、共有しやすくなります。
セマンティック モデルを製品として捉える。各モデルには、明確な名前と目的を付けましょう。
モデルはシンプルな定義で構築しましょう。各フィールドの意味を全員が理解していることを確認してください。
モデルのバージョンを管理し、変更内容を記録しましょう。各モデルの使い方も説明してください。
他のチームとモデルを共有し、一貫性を保ちましょう。これにより、全員が同じデータとルールを使えるようになります。
ヒント: 丁寧な注記と明確な意味づけは、モデルへの信頼と活用につながります。
ML フィーチャー ストアとモデルのトレーニング
フィーチャーストアは、機械学習のためのデータを追跡するのに役立ちます。トレーニングと予測に使うフィーチャーを1か所に保存できます。これにより、モデルの正確性と信頼性を保ちやすくなります。フィーチャーストアを使うと、ミスを防ぎやすくなります。両方の工程で同じデータを使うためです。フィーチャーの出所や変化の過程も可視化されます。そのため、問題の修正や作業の再実行が容易になります。フィーチャーはチーム内で共有・再利用できます。時間の節約につながり、チーム全体でより良い結果を得やすくなります。
更新とモデルデプロイの自動化
Microsoft Fabric のジョブスケジューラーを使うと、データの更新とモデルのデプロイを自動化できます。スケジューラーでは、ジョブを指定した時刻に実行するよう設定できます。多数のスケジュールを管理し、作業プロセスに組み込むこともできます。手作業に頼らず、データとモデルを最新の状態に保てます。自動化はミスの削減に役立ち、ワークフローの安定性を高めます。
注: 自動化により、手作業ではなく、インサイトの獲得と意思決定により多くの時間を使えるようになります。
Microsoft Fabric Notebooks と Lakehouse でコードファーストのアプローチを取ると、データをより信頼できるようになります。Bronze-Silver-Gold パターン、適切なルール、自動化を組み合わせると、分析と機械学習を拡張しやすくなります。まずは1つのパイプラインを移行し、安全性を保つためのチェックを追加しましょう。そのうえで、特に効果の大きい機能に目を向けてください。
Delta Live Tables を使うと、パイプラインが自動で実行され、時間を節約できます。
Liquid Clustering により、クエリが高速化し、コストを抑えられます。
AI を活用した監視により、遅いクエリを素早く見つけられます。
次のステップとして、ハンズオンラボを試したり、専門家による動画を視聴したり、DP-700 コースを修了して理解を深めたりしてください。
よくある質問
データ変換に Fabric Notebooks を使う主なメリットは何ですか?
データの記述、テスト、追跡を1か所で行えます。そのため、作業の確認と再現が容易になります。また、ファイルを移動させることなく大規模なデータセットを扱えます。
Bronze-Silver-Gold パターンは、データパイプラインにどのように役立ちますか?
このパターンにより、データを明確な段階に分けて整理できます。元データは安全に保管し、データをクレンジングしたうえで、レポートやモデル用のフィーチャーを作成します。問題をより迅速に修正でき、結果を信頼しやすくなります。
Fabric Notebooks で Git を使えますか?
はい、ノートブックを Git に接続できます。これにより、変更の追跡、コードのレビュー、チームとの共同作業が可能になります。必要であれば、いつでも以前のバージョンに戻せます。
Lakehouse でデータのセキュリティを確保するにはどうすればよいですか?
データを参照または変更できるユーザーを制限するルールを設定します。行レベルおよび列レベルのセキュリティを使用します。また、マネージド エンドポイントやワークスペースの制御機能を使ってデータを保護することもできます。
データと ML のワークフローを自動化できますか?
はい、可能です。ノートブックを指定した時刻に実行するようスケジュール設定できます。また、手作業なしでデータの更新やモデルのデプロイを行えます。時間の節約になり、ミスも減らせます。
あわせて聴きたいエピソード
Microsoft Fabric notebooks lakehouse について調べている方には、以下のエピソードが Microsoft のデータ プラットフォーム、AI アーキテクチャ、ガバナンス、自動化に関する実践的な背景情報を提供します。
- Azure AI Foundry – Simply Explained — エンタープライズ向け AI ソリューションの構築方法とガバナンスを理解できます。
- Microsoft AI Agent Harness – Simply Explained — 信頼性の高いオーケストレーション、評価、オブザーバビリティを確認できます。
- Microsoft Teams Governance – Simply Explained — ライフサイクルと所有者のルールが、コラボレーションをどのように管理しやすく保つかを確認できます。
これらのエピソードは、記事のトピックを、実践的なアーキテクチャや展開の判断と結びつける助けになります。