Module 3: Databricks Workspace Setup ```html Databricks Cursus - Module 3: Workspace Setup | DataPartner365 Learning

DataPartner365 Learning

Gratis cursussen en trainingen voor data professionals

Module 3 van 3

Workspace Setup & Eerste Notebook

Praktische handleiding voor het instellen van je Databricks omgeving en eerste stappen

60-90 minuten
Praktisch niveau
Hands-on tutorial

Cursus Modules

Module 3: Databricks Workspace Setup & Eerste Notebook

Leerdoelen

Na deze module kun je:

  • Een Databricks account aanmaken op jouw voorkeurs cloud provider
  • Een Databricks workspace instellen en configureren
  • Een compute cluster maken en optimaal configureren
  • Je eerste notebook maken en uitvoeren
  • Data uploaden en verwerken in Databricks
  • Kosten optimaliseren en best practices toepassen

3.1 Cloud Provider Keuze en Account Setup

Databricks is beschikbaar op drie grote cloud platforms. Je keuze hangt af van je bestaande infrastructuur, voorkeur en prijs:

Cloud Provider Best Voor Free Trial Integratie
AWS Databricks Organisaties die al AWS gebruiken, beste voor enterprise workloads 14 dagen gratis + $300 AWS credits S3, Glue, Redshift, Kinesis
Azure Databricks Microsoft ecosystem, beste voor Azure Active Directory integratie $200 Azure credits voor 30 dagen Azure Data Lake, Synapse, Power BI
Google Cloud Databricks Google ecosystem, beste voor BigQuery integratie $300 GCP credits voor 90 dagen BigQuery, Cloud Storage, Pub/Sub
1

Stap 1: Account Aanmaken

  1. Ga naar databricks.com/try-databricks
  2. Kies je cloud provider (AWS, Azure of GCP)
  3. Vul je contactgegevens in en accepteer de voorwaarden
  4. Bevestig je email adres via de verificatie email
  5. Login met je nieuwe account
Tip: Gratis Community Edition

Voor leren en experimenteren, gebruik de Community Edition. Dit is volledig gratis met beperkte resources. Ga naar community.cloud.databricks.com om te beginnen.

2

Stap 2: Workspace Instellen

Na login word je geleid naar de workspace setup:

  1. Workspace Naam: Kies een beschrijvende naam (bijv. "data-team-prod" of "learning-sandbox")
  2. Regio: Kies een regio dichtbij je gebruikers (bijv. EU West voor Nederland)
  3. Cluster Mode: Kies "Standard" voor meeste use cases
  4. Data Access: Configureer toegang tot je cloud storage (S3, ADLS, GCS)
  5. Networking: Voor productie: configureer VPC/VNet integratie
Belangrijke Overwegingen
  • Kosten: Een workspace kost $99-$149 per maand (afhankelijk van cloud provider)
  • Regio:Data Residency: Kies een regio die voldoet aan je compliance requirements (GDPR voor EU data)
  • Performance: Kies een regio dichtbij je data sources voor lagere latency

3.2 Compute Clusters: The Heart of Databricks

Clusters zijn de compute engine van Databricks. Ze verwerken je data en voeren code uit. Er zijn twee hoofdtypen:

Cluster Types

Type Beschrijving Gebruik Kosten
All-Purpose Clusters Voor ad-hoc analyse en data science. Wordt handmatig gestart/gestopt. Data exploration, development, notebooks Betaal per uur wanneer cluster draait
Job Clusters Voor geplande jobs en productie workloads. Start automatisch en stopt na job. ETL pipelines, geplande reports, productie workloads Betaal alleen tijdens job execution
High-Concurrency Geoptimaliseerd voor meerdere gebruikers met fine-grained sharing Gedeelde omgevingen, SQL analytics, BI tools Hoger DBU tarief, maar efficienter
3

Stap 3: Je Eerste Cluster Maken

  1. In je workspace, ga naar Compute in het linkermenu
  2. Klik op Create Cluster
  3. Cluster Name: Geef een beschrijvende naam (bijv. "dev-small")
  4. Cluster Mode: Kies "Standard" voor development
  5. Databricks Runtime Version: Kies de nieuwste LTS versie (bijv. 13.3 LTS)
  6. Worker Type: Kies een klein type voor development (bijv. "i3.xlarge" op AWS)
  7. Driver Type: Gelijk aan worker type
  8. Min Workers: 2 (voor fault tolerance)
  9. Max Workers: 8 (voor automatisch schalen)
  10. Auto-termination: 120 minuten (bespaart kosten bij inactiviteit)
# Voorbeeld: Cluster configuratie voor verschillende use cases # Development cluster (klein, goedkoop): - Type: Standard - Workers: 2-4 - Instance: i3.xlarge (4 vCPU, 30.5 GB RAM) - Cost: ~$0.50/uur # Production cluster (groot, performant): - Type: High Concurrency - Workers: 8-32 - Instance: r5.4xlarge (16 vCPU, 128 GB RAM) - Cost: ~$4.00/uur

Cluster Optimalisatie Tips:

Kosten Besparen
  • Gebruik spot instances voor niet-kritieke workloads
  • Stel auto-termination in op 15-30 minuten
  • Schaal automatisch op basis van workload
  • Gebruik reserved instances voor productie
Performance Optimalisatie
  • Kies instance types met SSD storage
  • Gebruik memory-optimized instances voor Spark
  • Configureer Spark parameters voor je workload
  • Gebruik Delta Cache voor herhaalde reads
Security Best Practices
  • Gebruik VPC/VNet voor isolatie
  • Configureer security groups/firewall rules
  • Gebruik instance profiles/service principals
  • Encrypt data in transit en at rest

3.3 Je Eerste Notebook: Hands-on Tutorial

4

Stap 4: Notebook Aanmaken en Configureren

  1. Klik op Create in het linkermenu en kies Notebook
  2. Name: "Mijn eerste Databricks notebook"
  3. Default Language: Python (of Scala, SQL, R)
  4. Cluster: Selecteer het cluster dat je in stap 3 gemaakt hebt
  5. Klik op Create
Notebook Interface Uitleg
  • Cells: Code of markdown blokken
  • Run Button: Voert de huidige cel uit
  • Add Cell: Voegt nieuwe cel toe
  • Command Palette: Sneltoetsen (Cmd/Ctrl + Shift + P)
  • Revision History: Versiebeheer voor notebooks
5

Stap 5: Basis Notebook Operaties

Typ deze code in je notebook en voer elke cel uit:

# Cel 1: Importeer benodigde libraries import pandas as pd import numpy as np from pyspark.sql import SparkSession from pyspark.sql.functions import * from pyspark.sql.types import * # Cel 2: Maak een Spark session (al geconfigureerd in Databricks) spark = SparkSession.builder.getOrCreate() print("Spark versie:", spark.version)
# Cel 3: Maak een eenvoudige DataFrame data = [ ("John", 28, "Amsterdam"), ("Sarah", 34, "Rotterdam"), ("Mike", 45, "Utrecht"), ("Lisa", 29, "Den Haag") ] columns = ["Naam", "Leeftijd", "Stad"] df = spark.createDataFrame(data, columns) # Toon de data df.show()
# Cel 4: Voer een query uit op de DataFrame resultaat = df.select("Naam", "Leeftijd")\ .filter(col("Leeftijd") > 30)\ .orderBy("Leeftijd", ascending=False) # Toon het resultaat resultaat.show() # Tel het aantal rijen aantal = df.count() print(f"Aantal personen in dataset: {aantal}")
6

Stap 6: Data Uploaden en Verwerken

Databricks biedt verschillende manieren om data te uploaden:

Methode 1: UI Upload
  1. Klik op Data in het linkermenu
  2. Klik op Create Table
  3. Sleep een CSV/JSON bestand of klik op Browse
  4. Configureer schema en data type
  5. Klik op Create Table
Methode 2: Cloud Storage
  1. Upload data naar S3/ADLS/GCS
  2. Lees direct vanuit notebook:
# Voor AWS S3: df = spark.read.csv("s3a://bucket-name/path/to/file.csv") # Voor Azure Data Lake: df = spark.read.csv("abfss://container@storage.dfs.core.windows.net/path/file.csv") # Voor Google Cloud Storage: df = spark.read.csv("gs://bucket-name/path/to/file.csv")
# Cel 7: Werk met een sample dataset # Databricks heeft ingebouwde datasets file_path = "/databricks-datasets/learning-spark-v2/people/people-1m.csv" people_df = spark.read.csv(file_path, header=True, inferSchema=True) # Toon schema people_df.printSchema() # Samenvattende statistieken people_df.describe().show() # Aggregaat query gemiddelde_leeftijd = people_df.groupBy("gender")\ .agg(avg("salary").alias("gemiddeld_salaris"), count("*").alias("aantal")) gemiddelde_leeftijd.show()

3.4 Geavanceerde Workspace Features

Belangrijke Workspace Componenten

Component Beschrijving Gebruik
Repos Git integratie voor versiebeheer van notebooks Connect met GitHub, GitLab, Bitbucket voor CI/CD
Jobs Geplande taken en workflows ETL pipelines, rapportage, model training
Delta Live Tables Declaratieve ETL framework Data pipeline ontwikkeling en monitoring
MLflow Machine Learning lifecycle management Experiment tracking, model registry, deployment
SQL Warehouses Dedicated SQL compute voor BI tools Power BI, Tableau, Looker connecties
Unity Catalog Unified governance en security Data lineage, access control, audit logging

Jobs Configuratie Voorbeeld:

# Voorbeeld job configuratie (JSON) { "name": "daily-sales-etl", "new_cluster": { "spark_version": "13.3.x-scala2.12", "node_type_id": "i3.xlarge", "num_workers": 4 }, "notebook_task": { "notebook_path": "/Users/email@example.com/sales_etl" }, "schedule": { "quartz_cron_expression": "0 0 6 * * ?", # Dagelijks om 6:00 "timezone_id": "Europe/Amsterdam" }, "email_notifications": { "on_success": ["team@example.com"], "on_failure": ["admin@example.com"] }, "max_concurrent_runs": 1 }

3.5 Kosten Management en Best Practices

Kosten Optimalisatie Strategieën

1. Cluster Management:
  • Auto-termination: Altijd instellen (15-120 minuten)
  • Auto-scaling: Gebruik voor variabele workloads
  • Spot Instances: 60-90% kostenbesparing voor tolerant workloads
  • Cluster Pools: Voor snelle cluster startup
2. Workload Optimalisatie:
  • Partitionering: Optimaliseer data layout voor query performance
  • Caching: Gebruik Delta Cache voor herhaalde reads
  • Query Optimalisatie: Gebruik EXPLAIN om queries te analyseren
  • Z-Ordering: Voor betere data skipping
3. Monitoring en Alerting:
  • Cost Analysis: Gebruik cloud provider cost explorer
  • Usage Reports: Databricks usage dashboard
  • Budget Alerts: Stel budget alerts in
  • Audit Logs: Monitor usage patterns
Workload Type Cluster Size Estimated Cost/maand Optimalisatie Tips
Development/Test 2-4 workers (small) $200 - $500 Auto-termination, gebruik buiten werkuren
Production ETL 8-16 workers (medium) $1,500 - $3,000 Reserved instances, spot voor niet-kritieke jobs
Data Science/ML 4-8 workers (GPU optional) $800 - $2,000 Gebruik alleen GPU wanneer nodig
BI/Analytics SQL Warehouse (Small-Medium) $500 - $1,500 Auto-stop, schaal based on demand

3.6 Troubleshooting en Common Issues

Veelvoorkomende Problemen en Oplossingen

Cluster Issues:
  • Cluster start niet: Check VPC/subnet configuratie, security groups
  • Geen workers beschikbaar: Instance type mogelijk uitverkocht in regio
  • Hoge latency: Cluster in verkeerde regio t.o.v. data
Performance Issues:
  • Slow queries: Check data skew, partitionering, caching
  • Out of memory: Vergroot cluster size of optimaliseer queries
  • Storage I/O bottlenecks: Gebruik SSD-backed instances
Data Issues:
  • Cannot read data: Check permissions op storage
  • Schema mismatches: Gebruik schema evolution in Delta Lake
  • Data corruption: Gebruik Delta Lake time travel voor recovery
Cost Issues:
  • Unexpected costs: Check auto-termination settings
  • High DBU usage: Optimaliseer Spark configuratie
  • Idle clusters: Stel kortere auto-termination in

3.7 Samenvatting en Volgende Stappen

Wat Je Nu Kunt

Na het voltooien van deze module heb je:

  1. Een werkende Databricks omgeving op jouw cloud provider
  2. Een geconfigureerd compute cluster voor data processing
  3. Je eerste notebook gemaakt en uitgevoerd
  4. Basis data operaties uitgevoerd met Spark DataFrames
  5. Inzicht in kosten management en optimalisatie
  6. Begrip van geavanceerde workspace features

Volgende Stappen in Je Databricks Reis

Voor Data Engineers:
  • Leer Delta Live Tables voor declaratieve pipelines
  • Implementeer medallion architecture (bronze/silver/gold)
  • Stel CI/CD pipelines op met Databricks Repos
  • Configureer Unity Catalog voor data governance
Voor Data Scientists:
  • Experimenteer met MLflow voor model tracking
  • Gebruik Feature Store voor reproducibele features
  • Implementeer AutoML voor snelle experimenten
  • Deploy modellen met MLflow Model Serving
Voor Analisten:
  • Maak dashboards met Databricks SQL
  • Connect BI tools (Power BI, Tableau) via SQL Warehouse
  • Gebruik Lakehouse views voor self-service analytics
  • Implementeer row/column level security

Praktische Opdrachten

Hands-on Oefeningen

1
Opdracht 1: Complete Workspace Setup

Doel: Een volledige productie-achtige omgeving opzetten

  1. Maak een nieuwe workspace op je voorkeurs cloud provider
  2. Configureer een development cluster met auto-scaling (min 2, max 8 workers)
  3. Maak een productie cluster pool voor snelle startups
  4. Configureer Git integratie met een repository
  5. Stel budget alerts in op $500/maand
2
Opdracht 2: ETL Pipeline Bouwen

Doel: Een complete data pipeline implementeren

  1. Download een dataset (bijv. van Kaggle of open data portalen)
  2. Upload naar cloud storage (S3/ADLS/GCS)
  3. Lees data in een notebook en transformeer (cleaning, aggregaties)
  4. Schrijf resultaten naar Delta Lake format
  5. Maak een scheduled job die dagelijks draait
  6. Voeg email notifications toe voor success/failure
3
Opdracht 3: Performance Optimalisatie

Doel: Een bestaande workload optimaliseren voor kosten en performance

  1. Gebruik een bestaande notebook met performance issues
  2. Analyseer met Spark UI waar bottlenecks zitten
  3. Optimaliseer door: partitionering aan te passen, caching toe te voegen, queries te herschrijven
  4. Meet verbetering in runtime en kosten
  5. Documenteer je bevindingen en optimalisaties

Verdiepende Bronnen

Officiële Documentatie en Guides

Databricks Documentatie:
Cloud-specifieke Guides:
DataPartner365 Resources:

Certificering en Verdere Training

Databricks Certificeringen:

  • Databricks Certified Associate Developer for Apache Spark: Entry-level certificering
  • Databricks Certified Data Engineer Associate: Voor data engineering professionals
  • Databricks Certified Data Analyst Associate: Voor SQL en analytics specialisten
  • Databricks Certified Machine Learning Associate: Voor ML engineers en data scientists

DataPartner365 Vervolgcursussen: