変更要約: DP-700 第2章を深掘り(図ja化・比較表/シナリオ/FAQ/ひっかけ/深掘り段落を全節に追加)
2.2データの変換(Spark・ノートブック・T-SQL)
Fabric でデータを変換する手段——Spark ノートブック(PySpark/Spark SQL)・データフロー Gen2・T-SQL(Warehouse)と、メダリオンアーキテクチャ(ブロンズ/シルバー/ゴールド)による段階的な整形を理解します。
取り込んだ生データは整形・結合・集計して使える形にします。大規模/複雑なら Spark、SQL に慣れているなら T-SQL、ノーコードなら Dataflow を選びます。
2.2.1変換手段とメダリオン
- Spark ノートブック:PySpark/Spark SQL で大規模・複雑な変換を行う(Lakehouse 中心)。
- T-SQL(Warehouse):セットベースの SQL で変換する。SQL に慣れたチーム向き。
- データフロー Gen2:ノーコード(Power Query)で整形する。
- メダリオン:ブロンズ(生)→シルバー(整形/結合)→ゴールド(集計/ビジネス向け)で段階的に品質を上げる。
「大規模/複雑な変換=Spark ノートブック(PySpark)」「SQL でセット処理=T-SQL(Warehouse)」「ノーコード整形=データフロー Gen2」「段階的な品質向上=メダリオン(ブロンズ/シルバー/ゴールド)」 は DP-700 で頻出です。データは Delta テーブルとして OneLake に保存されます。
どの手段で変換しても、結果は Delta 形式で OneLake に保存され、SQL 分析エンドポイントや Power BI(Direct Lake)から参照できます。
変換手段は得意領域で選びます。Spark ノートブック(PySpark・Spark SQL・Scala/R)は大規模・複雑・機械学習向けで、Lakehouse の Delta テーブルに MERGE(アップサート)や パーティション 書き込みができます。T-SQL(Warehouse) はセットベースで、SQL に慣れたチームの ETL/ELT に向き、ストアドプロシージャ でロジックを再利用します。データフロー Gen2 は Power Query でノーコード整形(小〜中規模・市民開発者向け)。整形の設計は メダリオンアーキテクチャ=ブロンズ(生データをそのまま)→シルバー(クレンジング・重複排除・結合・型統一)→ゴールド(集計・スタースキーマ等ビジネス向け) と段階化し、各層を Delta テーブルとして OneLake に保存します。これにより再処理が容易で、下流(Power BI の Direct Lake)から一貫して参照できます。Delta の利点(ACID・タイムトラベル・スキーマ進化)を活かし、増分は MERGE で取り込みます。「大規模/ML=Spark」「SQL の ELT=T-SQL」「ノーコード=Dataflow」「品質の段階化=メダリオン」を判断軸にします。
| 手段 | 言語/UI | 向く用途 |
|---|---|---|
| Spark ノートブック | PySpark/Spark SQL/Scala/R | 大規模・複雑・ML |
| T-SQL(Warehouse) | セットベース SQL | SQL チームの ETL/ELT |
| データフロー Gen2 | Power Query(ノーコード) | 小〜中規模・市民開発 |
シナリオ: 生ログを取り込み、重複排除・結合して、最後に部門別 KPI に集計して BI に出したい。→ メダリオンで設計:ブロンズに生ログを Delta 保存、シルバーで Spark(または T-SQL)でクレンジング/結合、ゴールドで集計テーブル化。各層は OneLake の Delta で、Power BI は Direct Lake でゴールドを高速参照します。
FAQ: Q. メダリオンの各層は必須ですか? → A. 規定ではありませんが、ブロンズ/シルバー/ゴールドに分けると再処理・品質管理・下流の一貫性が向上する定番です。Q. Spark と T-SQL のどちらで変換すべき? → A. 大規模/複雑/ML は Spark、SQL に慣れたチームのセット処理は T-SQL。結果はどちらも OneLake の Delta です。
ひっかけ: 「ゴールド層に生データをそのまま置く」は誤りです。生データはブロンズ、ゴールドは集計済み・ビジネス向け。また「変換手段ごとに保存形式が異なり相互参照できない」も誤り(どの手段でも結果は Deltaで OneLake に保存され横断参照できる)。
2.2.2この節のまとめ
- 変換=Spark(大規模)/T-SQL(SQL)/Dataflow(ノーコード)
- 整形の段階=ブロンズ→シルバー→ゴールド(メダリオン)
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. 大規模で複雑なデータ変換を PySpark で行いたい。Fabric で何を使いますか?
Q2. メダリオンアーキテクチャで「ビジネス向けに集計済み」の層はどれですか?
Q3. SQL に慣れたチームが Warehouse でセットベースの変換を行いたい。何を使いますか?

