---
# 🧠 Microsoft Fabric 教材講義(基礎入門)
## 一、Microsoft Fabric 簡介
### 1. 定義與特性
Microsoft Fabric 是一個 **端對端(End-to-End)資料分析平台**,提供資料專業人員與企業使用者一個統一的整合環境,可於單一平台內完成資料的 **收集、儲存、處理與分析**。
### 2. 平台特點
* **SaaS 模式(Software as a Service)**:免除繁瑣的部署。
* **統一環境**:整合 Data Factory、Synapse、Power BI 等分析工具。
* **單一資料湖 OneLake**:集中管理並避免資料重複。
* **內建 Copilot(生成式 AI 助手)**:可協助查詢、產生 SQL、建立報表與摘要。
---
## 二、Fabric 六大主要服務模組
| 模組 | 功能說明 |
| ------------------------------------ | ------------------- |
| **Data Engineering** | 處理、轉換與開發大規模資料流程。 |
| **Data Integration (Data Factory)** | 提供 ETL 與資料整合流程自動化。 |
| **Data Warehousing** | 支援大規模結構化資料倉儲分析。 |
| **Real-Time Intelligence** | 進行即時資料分析與監控。 |
| **Data Science** | 建立、訓練與部署機器學習模型。 |
| **Business Intelligence (Power BI)** | 建立互動式報表與儀表板,支援決策分析。 |
---
## 三、OneLake 核心架構
### 1. OneLake 概念
OneLake 是 Microsoft Fabric 的集中式資料湖儲存架構,基礎建置於 **Azure Data Lake Storage (ADLS)** 之上,支援多種資料格式(Delta、Parquet、CSV、JSON)。
### 2. 功能特色
* 各分析引擎(如 Spark、T-SQL、KQL)可直接存取 OneLake 資料。
| 分析引擎 | 主要用途 | 語言 | 存取方式 |
| ------------------------------ | ------------ | --------------------------- | ---------------------------------------------------------------- |
| **Spark** | 大數據處理、機器學習 | PySpark / Scala / Spark SQL | 直接讀取 Delta Parquet 檔:| |
| **T-SQL** | 傳統資料倉儲、BI 查詢 | Transact-SQL | 透過 *Lakehouse* 或 *SQL Endpoint* 查詢 OneLake 資料表,如同查詢資料庫|
| **KQL (Kusto Query Language)** | 日誌、即時監控分析 | KQL | 可查詢 *Real-Time Analytics* 資料集,資料仍在 OneLake 中 |
* 使用統一格式 **Delta-Parquet**,避免資料複製與搬移。
* 可與 Azure、Amazon、Google、Dataverse 及 On-Premises 系統整合。
| 特性 | Parquet | Delta |
| ---------- | --------- | ------------------------ |
| 基礎格式 | 欄式儲存格式 | Parquet + 交易日誌(ACID) |
| 支援更新/刪除 | ❌ 不支援 | ✅ 支援 |
| 時間旅行(版本控制) | ❌ 無 | ✅ 有 |
| 資料一致性 | 弱 | 強(ACID) |
| Schema 演化 | 基本支援 | 完整支援 |
| 適用場景 | 批次分析 | 實時分析 + 批次混合 |
| 常見應用 | Data Lake | Lakehouse / ETL Pipeline |
### 3. 快捷方式(Shortcuts)
允許直接連結外部雲端或本地資料,而不需搬移資料,確保資料一致性與即時同步。
### 4. 鏡射(Mirroring)
可將 **Azure SQL Database** 或其他雲端資料倉儲資料鏡射至 Fabric 平台,以進行集中分析。
---
## 四、工作區(Workspace)
### 1. 定義
工作區是 Microsoft Fabric 中的邏輯容器,用於管理資料集、報表與模型,並協助團隊協作與安全控管。
### 2. 功能
* 整理與管理不同類型的資料資產。
* 每個工作區可獨立授權、控管與版本管理。
* 可與 **Git** 整合進行版本追蹤與協作。
### 3. 權限角色
| 角色 | 權限 |
| --------------------- | -------------- |
| **系統管理員 (Admin)** | 管理工作區與設定。 |
| **成員 (Member)** | 可建立與修改內容。 |
| **參與者 (Contributor)** | 可共同作業但無完整管理權限。 |
| **檢視者 (Viewer)** | 僅能瀏覽內容,無修改權限。 |
---
## 五、集中管理與治理(Governance)
### 1. 管理入口網站
集中於 **Fabric 系統管理入口網站(Admin Portal)**,提供:
* 群組與許可權設定。
* 資料閘道與來源設定。
* 效能監測與使用量分析。
* API 與 SDK 介面,支援自動化與系統整合。
### 2. OneLake 目錄(Catalog)
提供集中治理與稽核功能,包括:
* 元資料與敏感性標籤管理。
* 數據刷新狀態追蹤。
* 提供資料譜系(Lineage)視覺化,以支援合規與安全管控。
---
## 六、Fabric 的使用角色與協作流程
| 角色 | 在 Fabric 中的任務與工具 |
| --------- | -------------------------------------------------- |
| **資料工程師** | 使用 Data Factory / Spark 建立 Pipeline,進行資料整合與轉換。 |
| **分析工程師** | 建立語意模型與資料湖倉 (Lakehouse),策劃可供重用的數據集。 |
| **資料分析師** | 使用 Power BI 建立互動式報表(Direct Lake 模式),減少轉換負擔。 |
| **資料科學家** | 使用 Notebook(Python + Spark)進行建模,並可與 Azure ML 整合部署。 |
| **公民開發者** | 使用 Power BI、Dataflow 進行低程式碼自助式分析。 |
---
## 七、Copilot 智能助理(AI 助手)
### 1. 定義
**Copilot** 是 Fabric 內建的生成式 AI 助手,利用大型語言模型(LLM)協助使用者在平台內更高效完成工作。
### 2. 主要功能
| 模組 | Copilot 功能 |
| ----------------------------------- | ------------------------ |
| **Data Engineering / Data Science** | 智慧代碼補全、自動化轉換、分析建議。 |
| **Data Factory** | 自動產生 ETL 程式與流程說明。 |
| **Data Warehousing / SQL** | 將自然語言轉換為 SQL 查詢。 |
| **Power BI** | 自動生成報表、提供問答功能與摘要分析。 |
| **Real-Time Intelligence** | 自然語言轉譯成 KQL 查詢,簡化即時資料分析。 |
這句話描述的是 **Microsoft Fabric 或 Azure 生態系中常見的資料整合流程**,
意思是透過 **Data Factory** 與 **Spark** 的組合來建立一條 **資料處理管線(Data Pipeline)**,
實現「資料整合(Integration)」與「資料轉換(Transformation)」的工作。
以下是專業層面的完整說明與架構解析 👇
---
## 🧭 一、整體概念
**Data Pipeline(資料處理管線)**:
指一系列自動化的步驟,負責從不同來源擷取資料、清理、轉換、整合,最後載入至目標(如 OneLake、SQL Warehouse、Power BI)。
在 Microsoft Fabric / Azure 架構中,可利用:
* **Data Factory**:負責 **ETL / ELT 控制流程、排程、資料擷取**
* **Spark(Notebook 或 Job)**:負責 **資料轉換與分析邏輯**
---
## 🧩 二、Data Factory 的角色:整合與自動化
Data Factory(資料工廠)是整個 Pipeline 的「管控中心」:
### 📘 功能
| 功能類別 | 說明 |
| ------------------------ | -------------------------------------------------------------------------- |
| **資料擷取(Data Ingestion)** | 從多種來源收集資料:資料庫(SQL, PostgreSQL)、雲端儲存(Azure Blob, AWS S3)、API、CSV、IoT 資料串流等。 |
| **排程與觸發器** | 可設定每日/每小時執行、事件觸發(如新檔上傳時)。 |
| **資料流(Data Flow)設計** | 以視覺化拖拉介面設計資料清理、轉換邏輯(Mapping Data Flow)。 |
| **協調 Spark 任務** | 可以在 Pipeline 內呼叫 Spark Notebook、Spark Job,進行複雜資料處理。 |
---
## ⚙️ 三、Spark 的角色:資料轉換與運算核心
Spark 是處理大量資料的分散式運算引擎。
### 📘 常見用途
| 任務類型 | Spark 處理內容 |
| ------------------------ | ----------------------------------------------------- |
| **資料清理(Cleaning)** | 處理缺值、錯誤資料型別、欄位標準化 |
| **資料轉換(Transformation)** | Join、Aggregation、Pivot、Feature Engineering |
| **資料載入(Load)** | 將處理後的資料寫回 OneLake(Delta Table)、SQL Warehouse、Power BI |
| **機器學習** | 使用 Spark MLlib 進行特徵工程與模型訓練 |
### 📘 例:
```python
# 從 OneLake 讀取原始資料
df = spark.read.format("delta").load("OneLake/raw/patient_records")
# 清理與轉換
df_clean = df.dropna(subset=["age", "diagnosis"]) \
.withColumnRenamed("patient_id", "PID") \
.filter(df.age > 18)
# 寫回轉換後的資料
df_clean.write.format("delta").mode("overwrite").save("OneLake/curated/patient_records")
```
---
## 🔄 四、整體 Pipeline 流程範例(醫療資料案例)
---
## 🧠 五、整合優點
| 項目 | 說明 |
| --------- | --------------------------------- |
| **模組化設計** | Data Factory 負責流程控制,Spark 專注運算邏輯。 |
| **彈性高** | 支援批次(Batch)與即時(Streaming)處理。 |
| **高擴展性** | 可依資料量自動調整 Spark Cluster 資源。 |
| **資料一致性** | 搭配 OneLake(Delta 格式)確保 ACID 特性。 |
---
## 📘 六、實務應用舉例(醫療資料整合)
| 流程階段 | 使用技術 | 功能說明 |
| ------------- | -------------------- | ------------------------------------------ |
| 1. 擷取資料 | Data Factory | 從 HIS / EMR / CSV 匯入病人檢驗與用藥資料 |
| 2. 清理與轉換 | Spark | 將各院所資料 Schema 對齊、進行代碼映射(如 LONIC、SNOMED CT) |
| 3. 匯入 OneLake | Spark / Data Factory | 寫入 Delta Table,供後續分析 |
| 4. 分析與可視化 | Power BI / Notebook | 建立病歷分析與 AI 模型訓練報表 |
---
## ✅ 七、總結一句話
> 使用 **Data Factory** 建立自動化管線,
> 結合 **Spark** 執行高效資料轉換,
> 最終將資料整合進 **OneLake(Delta 格式)**,
> 即為現代化「資料整合與轉換 Pipeline」的最佳實踐。
---
是否希望我幫你畫一張「Fabric Data Pipeline(Data Factory + Spark + OneLake)」的簡報用示意圖?
可以用在你的健保或慢病管理系統簡報裡。
### 3. 啟用方式
由 **系統管理員** 於 Power BI 管理入口網站的「租用戶設定」中啟用。
可針對特定安全群組或整個組織開放。

---
## 八、Fabric 平台整體架構說明(圖表解釋)

### 1. 底層:資料來源整合層
* 支援 Azure、Amazon、Dataverse、Google、Amazon S3、On-Premises 資料來源。
* 透過 **Shortcuts** 與 **Mirroring** 實現即時整合。
### 2. 中層:運算層(Serverless Compute)
* Spark(Data Engineering)
* T-SQL(Data Warehousing)
* KQL(Real-Time Intelligence)
* Analysis Services(Power BI 語意層)
### 3. 上層:應用層(Fabric Services)
* Data Factory、Data Engineering、Data Science、Data Warehousing、Real-Time Intelligence、Power BI。
* 皆共用 OneLake 儲存與運算架構。
---
## 九、課程應用建議(講師教學引導)
1. **故事線導入**:「從資料到洞察」(Data → Insight)
2. **實作順序建議**:
* 建立 Fabric 工作區

* 建立 Lakehouse 並上傳 Dataset
* 使用 Data Factory Pipeline 整合資料流
* 以 Power BI 建立報表
* 啟用 Copilot 展示自然語言查詢
3. **重點提示**:
* 強調 OneLake 為資料整合核心。
* 展示 Copilot 如何加速開發流程。
* 引導學員認識資料治理與安全機制的重要性。
---
## 十、延伸學習建議
* Microsoft Learn 模組:
👉 [https://learn.microsoft.com/training/paths/get-started-fabric/](https://learn.microsoft.com/training/paths/get-started-fabric/)
* 進階主題:
* Data Activator 即時事件觸發
* Semantic Model 優化
* Dataflow Gen2 自動化
* Git 版本控制與協作