Master Microsoft Fabric in 12 Uur
De complete guide voor Microsoft Fabric - Leer het unified platform voor data engineering, data science, data warehousing en business intelligence.
Les 1: Wat is Microsoft Fabric?
Microsoft Fabric: Eén Platform voor Alle Analytics
Microsoft Fabric is een unified analytics platform dat alle data services integreert in één product. Het combineert data engineering, data warehousing, data science, real-time analytics en business intelligence.
Key Insight
Voor Fabric moesten organisaties verschillende Microsoft services (Azure Data Factory, Synapse, Power BI) apart configureren en beheren. Fabric biedt dit nu geïntegreerd aan met gedeelde governance, security en OneLake als centrale dataopslag.
Microsoft Fabric Architecture
Data Engineering
Spark, notebooks, data pipelines
Data Science
ML modellen, experimenten, R/Python
Data Warehousing
SQL, T-SQL, data marts
Real-time Analytics
KQL, streaming, observability
Power BI
Dashboards, rapporten, AI visuals
Data Factory
ETL/ELT, data movement, orchestration
Alle workloads delen OneLake als centrale dataopslag met Delta Lake formaat
Microsoft Fabric vs Traditionele Architectuur
| Aspect | Microsoft Fabric | Traditionele Azure Stack | On-premise Stack |
|---|---|---|---|
| Integratie | ✅ Volledig geïntegreerd | ❌ Losse services (ADF, Synapse, Power BI) | ❌ Silo's van tools |
| Data Opslag | OneLake (centraal, Delta Lake) | Verschillende storage accounts | Fileservers, databases |
| Governance | ✅ Unified governance (Purview) | ❌ Per service beheren | ❌ Handmatige processen |
| Kosten Model | Capacity Units (CU's) - één prijs | Per service betalen | CapEx + onderhoud |
| Development | ✅ Low-code + pro-code in één | ❌ Verschillende tools/interfaces | ❌ Complexe integratie |
| Time to Value | Dagen | Weken tot maanden | Maanden tot jaren |
Pro Tip: Wanneer Microsoft Fabric Kiezen?
Kies Fabric wanneer je: (1) Al in Microsoft ecosystem zit (Office 365, Azure), (2) Low-code en pro-code wil combineren, (3) Unified governance nodig hebt, (4) Power BI al gebruikt, (5) Snelle integratie tussen data engineering en BI wil.
OneLake: Het Hart van Microsoft Fabric
# Microsoft Fabric PowerShell Module installeren
Install-Module -Name MicrosoftPowerBIMgmt -Force
Install-Module -Name MicrosoftPowerBIMgmt.Admin -Force
Install-Module -Name MicrosoftPowerBIMgmt.Workspaces -Force
# Aanmelden bij Power BI (Fabric)
Connect-PowerBIServiceAccount
# Fabric Workspace aanmaken
New-PowerBIWorkspace -Name "Fabric Analytics Platform" `
-Description "Productie workspace voor enterprise analytics" `
-Type "Premium" `
-CapacityId "your-capacity-id"
# OneLake bestanden beheren via OneLake file explorer
# OneLake werkt als een normale filesystem maar dan in de cloud
# Voorbeeld: abfss://onelake@fabric.dfs.core.windows.net/
# Fabric Items maken met REST API
$headers = @{
"Authorization" = "Bearer $accessToken"
"Content-Type" = "application/json"
}
# Data Warehouse aanmaken
$body = @{
displayName = "Enterprise Data Warehouse"
description = "Centraal data warehouse voor alle business units"
type = "Warehouse"
} | ConvertTo-Json
Invoke-RestMethod -Method Post `
-Uri "https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items" `
-Headers $headers `
-Body $body
# Data Pipeline aanmaken
$pipelineBody = @{
displayName = "Daily Sales ETL"
description = "Dagelijkse ETL voor sales data van SAP en CRM"
type = "Pipeline"
properties = @{
activities = @(
@{
name = "Copy SAP Data"
type = "Copy"
inputs = @(@{referenceName = "SAPSource"})
outputs = @(@{referenceName = "RawSales"})
},
@{
name = "Transform Data"
type = "Spark"
inputs = @(@{referenceName = "RawSales"})
outputs = @(@{referenceName = "CleanedSales"})
}
)
}
} | ConvertTo-Json -Depth 5
# Capaciteit (CU's) monitoren
Get-PowerBICapacity -Scope Organization |
Where-Object {$_.State -eq "Active"} |
Select-Object DisplayName, Sku, State, Admins, Users |
Format-Table -AutoSize
# Fabric licentie rapport genereren
$report = Get-PowerBICapacity -Scope Organization |
ForEach-Object {
[PSCustomObject]@{
Workspace = $_.DisplayName
SKU = $_.Sku
Status = $_.State
AssignedTo = $_.Admins -join ", "
MonthlyCost = if($_.Sku -eq "P1") {"€4,995"}
elseif($_.Sku -eq "F64") {"€5,002.88"}
else {"Onbekend"}
}
}
$report | Export-Csv -Path "fabric_capacity_report.csv" -NoTypeInformation
Write-Host "✅ Fabric capaciteit rapport gegenereerd" -ForegroundColor Green
Python Voorbeeld: Werken met Fabric Spark & OneLake
# Microsoft Fabric Notebook (Python)
# OneLake is standaard geconfigureerd als Spark default storage
from pyspark.sql import SparkSession
from pyspark.sql.functions import *
from delta.tables import *
import pandas as pd
import json
# Spark sessie in Fabric (geen configuratie nodig)
spark = SparkSession.builder.getOrCreate()
print(f"Spark versie: {spark.version}")
print(f"Fabric Workspace: {spark.conf.get('spark.fabric.workspace.name')}")
def demonstrate_fabric_features():
"""Demonstreer Fabric-specifieke features"""
# 1. Data lezen van OneLake (Delta format)
print("1. Data lezen van OneLake...")
# OneLake path: abfss://workspace@onelake.dfs.fabric.microsoft.com/
sales_df = spark.read.format("delta").load(
"Files/Sales/Transactions"
)
print(f" Sales data: {sales_df.count():,} rijen")
# 2. Data transformeren met Spark
print("2. Data transformeren...")
daily_metrics = sales_df \
.groupBy("TransactionDate", "StoreId", "ProductCategory") \
.agg(
sum("Amount").alias("TotalSales"),
avg("Quantity").alias("AvgQuantity"),
count("*").alias("TransactionCount")
) \
.withColumn("Year", year(col("TransactionDate"))) \
.withColumn("Month", month(col("TransactionDate")))
# 3. Opslaan naar OneLake (Delta Lake)
print("3. Opslaan naar OneLake als Delta table...")
daily_metrics.write \
.format("delta") \
.mode("overwrite") \
.partitionBy("Year", "Month") \
.save("Tables/DailySalesMetrics")
# 4. Direct Query met SQL Endpoint
print("4. Direct SQL query op Warehouse...")
# Maak een SQL Endpoint view
daily_metrics.createOrReplaceTempView("daily_sales_metrics_view")
# SQL query uitvoeren
sql_result = spark.sql("""
SELECT
Year,
Month,
ProductCategory,
SUM(TotalSales) as MonthlySales,
AVG(AvgQuantity) as AvgDailyQuantity
FROM daily_sales_metrics_view
WHERE Year = 2024
GROUP BY Year, Month, ProductCategory
ORDER BY MonthlySales DESC
LIMIT 10
""")
print(" Top 10 product categorieën 2024:")
sql_result.show(truncate=False)
# 5. Shortcuts gebruiken - virtuele links naar externe data
print("5. Shortcuts maken naar externe data...")
# Maak een shortcut naar Azure Data Lake Storage
spark.sql("""
CREATE SHORTCUT IF NOT EXISTS ExternalCustomerData
ON 'abfss://customer-data@externaladls.dfs.core.windows.net/raw/'
WITH (
TYPE = 'ADLS',
ACCOUNT_NAME = 'externalstorage'
)
""")
# Lees data via shortcut
external_data = spark.read.parquet(
"ExternalCustomerData/customers/*.parquet"
)
print(f" Externe customer data: {external_data.count():,} rijen")
return daily_metrics, sql_result
def fabric_data_science_example():
"""Data Science met Fabric ML"""
print("\n6. Machine Learning met Fabric ML...")
from synapse.ml import *
from synapse.ml.lightgbm import *
# Laad data voor ML
ml_data = spark.read.format("delta").load(
"Tables/MLReadyData"
)
# Feature engineering
feature_cols = [c for c in ml_data.columns if c not in ["Label", "CustomerId"]]
# Train LightGBM model
lgbm = LightGBMClassifier(
featuresCol="features",
labelCol="Label",
predictionCol="prediction",
objective="binary",
numLeaves=31,
maxDepth=5,
numIterations=100
)
# Data splitsen
train_data, test_data = ml_data.randomSplit([0.8, 0.2])
# Model trainen
model = lgbm.fit(train_data)
# Voorspellingen maken
predictions = model.transform(test_data)
# Model opslaan in MLflow (geïntegreerd in Fabric)
import mlflow
with mlflow.start_run():
mlflow.log_param("num_leaves", 31)
mlflow.log_param("max_depth", 5)
mlflow.spark.log_model(model, "churn_prediction_model")
# Metrics loggen
from sklearn.metrics import accuracy_score, f1_score
pdf = predictions.select("Label", "prediction").toPandas()
accuracy = accuracy_score(pdf["Label"], pdf["prediction"])
f1 = f1_score(pdf["Label"], pdf["prediction"])
mlflow.log_metric("accuracy", accuracy)
mlflow.log_metric("f1_score", f1)
print(f" Model accuracy: {accuracy:.2%}")
print(f" F1 score: {f1:.2%}")
return model, predictions
def power_bi_integration():
"""Power BI Direct Lake mode demo"""
print("\n7. Power BI Direct Lake integration...")
# Maak een dataset klaar voor Direct Lake
# Direct Lake laadt data direct van OneLake zonder import
# 1. Maak een semantic model
semantic_model_sql = """
CREATE TABLE SalesSemanticModel (
SalesAmount decimal(18,2),
Quantity int,
ProductName varchar(100),
Category varchar(50),
TransactionDate date,
StoreLocation varchar(200)
)
"""
# 2. Vul het semantic model
spark.sql("""
INSERT INTO SalesSemanticModel
SELECT
Amount as SalesAmount,
Quantity,
p.ProductName,
p.Category,
t.TransactionDate,
s.StoreLocation
FROM Files/Sales/Transactions t
JOIN Tables/Products p ON t.ProductId = p.ProductId
JOIN Tables/Stores s ON t.StoreId = s.StoreId
WHERE t.TransactionDate >= '2024-01-01'
""")
print(" Semantic model gemaakt voor Power BI Direct Lake")
print(" Power BI kan nu direct queryen op OneLake zonder data kopiëren!")
# 3. Power BI dataset URL genereren
workspace_name = spark.conf.get("spark.fabric.workspace.name")
dataset_id = "sales_semantic_model"
pbix_url = f"https://app.powerbi.com/groups/me/datasets/{dataset_id}"
print(f" Power BI dataset URL: {pbix_url}")
if __name__ == "__main__":
print("=" * 70)
print("MICROSOFT FABRIC DEMO")
print("=" * 70)
# Demo basis features
metrics, sql_result = demonstrate_fabric_features()
# Demo Data Science
try:
model, predictions = fabric_data_science_example()
except Exception as e:
print(f" ML demo skipped: {e}")
# Demo Power BI integration
power_bi_integration()
print("\n" + "=" * 70)
print("DEMO VOLTOOID")
print("=" * 70)
print("\nVolgende stappen:")
print("1. Open Power BI voor Direct Lake dashboards")
print("2. Bekijk data lineage in Purview")
print("3. Configureer data governance policies")
print("4. Maak data pipelines in Data Factory")
Oefening: Fabric Enterprise Architectuur
Scenario: Een Nederlandse bank wil overstappen naar Microsoft Fabric. Ze hebben:
- 100+ SQL Server databases on-premise
- 500 Power BI rapporten (Pro licentie)
- Azure Data Factory pipelines voor ETL
- Strikte compliance vereisten (AFM/DNB)
- 300 gebruikers (analisten, data scientists, managers)
Opdracht: Ontwerp een Microsoft Fabric migratie strategie:
- Hoe migreer je on-premise data naar OneLake?
- Welke Fabric Capaciteit (F SKU) heb je nodig?
- Hoe organiseer je workspaces voor verschillende teams?
- Welke governance features gebruik je voor compliance?
- Hoe integreer je bestaande Power BI rapporten?
- Hoe beheer je kosten met Capacity Units?
Real-World Case: ABN AMRO Bank
Uitdaging: ABN AMRO had gefragmenteerde data platformen met hoge integratiekosten en complexe governance.
Oplossing met Microsoft Fabric:
- OneLake als centrale dataopslag voor alle divisies
- Direct Lake mode voor real-time Power BI dashboards
- Fabric Data Warehouses voor divisie-specifieke data marts
- Microsoft Purview voor unified data governance
- Fabric Capacities (F64, F128) voor voorspelbare kosten
Resultaat: 40% kostenreductie in data platform, 70% snellere time-to-insight, centrale governance voor 500+ datasets, en compliance met Nederlandse bank regelgeving.
Quick Knowledge Check
Vraag 1: Wat is het belangrijkste voordeel van Microsoft Fabric?
Vraag 2: Wat is OneLake in Microsoft Fabric?
Vraag 3: Wat is Direct Lake mode in Fabric Power BI?
Microsoft Fabric Carrière Kansen in Nederland
De vraag naar Microsoft Fabric experts explodeert sinds de launch in 2023. Gemiddelde salarissen (2024):
Tip: Microsoft Certified: Fabric Analytics Engineer Associate certificering verhoogt je salaris met 25-35%. Veel Nederlandse organisaties migreren nu naar Fabric.
Microsoft Fabric Certificering Pad
Na het voltooien van deze cursus ben je klaar voor:
DP-600: Fabric Analytics Engineer
Implement data solutions with Microsoft Fabric
PL-300: Power BI Data Analyst
Prepare, model, visualize and analyze data
DP-500: Analytics Engineer
Advanced analytics with Azure and Fabric
DP-100: Data Scientist
Design and implement data science solutions
Microsoft Fabric Pricing Calculator
Microsoft Fabric gebruikt Capacity Units (CU's). Bereken jouw maandelijkse kosten:
Geschatte maandelijkse kosten:
Inclusief: OneLake storage, Data Engineering, Data Warehousing, Real-time Analytics, Data Science, Power BI Premium
Microsoft Fabric Learning Resources
Fabric Notebook Templates
Starter notebooks voor Spark, data engineering, ML en data science in Fabric.
Download NotebooksOneLake Best Practices
Folder structuren, shortcuts, Delta Lake optimizatie en governance templates.
Download TemplatesMigration Toolkit
Tools en scripts voor migratie van on-premise/Synapse naar Fabric.
Download ToolkitNL Microsoft Fabric Community
Sluit je aan bij de Nederlandse Fabric gebruikers groep (meetups, workshops).
Word LidJouw Fabric Learning Journey
Na deze essentials cursus kun je door naar:
- Advanced Fabric Data Engineering - Spark optimization, Delta Lake, data pipelines
- Fabric Data Science & ML - Synapse ML, experiment tracking, model deployment
- Fabric Administration & Governance - Security, Purview, cost management
- Fabric Real-time Analytics - Eventstream, KQL databases, real-time dashboards
- Fabric Power BI Deep Dive - Direct Lake, composite models, AI visuals
- Fabric Migration Specialist - On-premise to Fabric, Azure to Fabric migrations
Actuele Microsoft Fabric Vacatures
Bekijk onze Microsoft Fabric vacatures voor de nieuwste kansen bij Nederlandse organisaties zoals overheden, banken, verzekeraars en grote enterprises.
Microsoft Fabric vs Andere Platforms
| Platform | Sterke Punten | Zwakke Punten | Best Voor | Prijzen (Nederland) |
|---|---|---|---|---|
| Microsoft Fabric | End-to-end integratie, Power BI, Microsoft ecosystem | Nog relatief nieuw (2023), Microsoft lock-in | Microsoft shops, Unified analytics | €263 - €40k/maand (Capacity Units) |
| Snowflake | Data sharing, Multi-cloud, Zero-copy cloning | Kostbaar, minder geïntegreerd BI | Data sharing, Multi-cloud | €2-€4 per credit |
| Databricks | Machine Learning, Delta Lake, Spark | Complexer voor pure SQL, minder geïntegreerd BI | Data Science, ML, Engineering | €0.40-€0.70 per DBU |
| Google BigQuery | Serverless, BigQuery ML, Google Cloud | Vendor lock-in, minder Microsoft integratie | Google Cloud ecosystem | €4.80 per TB (on-demand) |
Microsoft Fabric is bijzonder sterk voor organisaties die al in Microsoft ecosystem zitten (Office 365, Azure, Power BI).