No description
Find a file
2025-12-01 13:56:46 +01:00
delta-client README 2025-12-01 13:56:46 +01:00
hive-metastore Merge branch 'main' of https://git.dev-dsde.sdx.world/mgf/delta 2025-12-01 13:44:57 +01:00
postgres initial 2025-11-27 10:15:32 +01:00
seaweedfs initial 2025-11-27 10:15:32 +01:00
spark initial 2025-11-27 10:15:32 +01:00
trino/catalog Merge branch 'main' of https://git.dev-dsde.sdx.world/mgf/delta 2025-12-01 13:44:57 +01:00
.gitignore jo eh# 2025-11-27 16:01:17 +01:00
docker-compose.yml all 2025-11-27 15:38:27 +01:00
README.md README 2025-12-01 13:56:46 +01:00

s3-spark-delta Lokale Data-Lakehouse-Umgebung

Enthält:

  • SeaweedFS als S3-kompatibler Storage (mit Auth, Access-Key admin, Secret admin123)
  • Spark 3.5.1 (Master + Worker) mit Delta Lake 3.1.0
  • Hive Metastore auf PostgreSQL
  • Trino mit Hive-Connector auf S3
  • delta-client Container mit:
    • PySpark 3.5.1
    • delta-spark 3.1.0
    • Trino Python Client
    • boto3 + AWS CLI
    • Testskripte für Delta & Trino

Verwendung

Starten der Umgebung

putty auf die vlasdssbx002.dev.akdb.cloud

docker compose up -d

im docker

1. Projekt entpacken und starten

docker compose build
docker compose up -d

Warten, bis alle Container laufen:

cd /opt/delta
docker compose up -d

2. Buckets in SeaweedFS anlegen

docker exec -it delta-client python /app/init_buckets.py

Erzeugt die Buckets:

  • deltabucket
  • raw
  • processed

3. Delta-Table schreiben

docker exec -it client python /app/write_delta.py
docker exec -it client python /app/write_customers.py

4. Delta-Table mit Spark lesen

docker exec -it client python /app/read_delta.py
docker exec -it client python /app/read_customers_delta.py

5. Daten über Trino abfragen

docker exec -it client python /app/trino_query_delta.py
docker exec -it client python /app/read_customers_trino.py

Erwartet wird eine Ausgabe der Zeilen aus test_table bzw customers.

UIs

Hinweise

  • S3 Credentials:
    • Access Key: admin
    • Secret Key: admin123
  • S3 Endpoint: http://seaweed:8333 (innerhalb des Docker-Netzwerks)
  • Spark greift via s3a://deltabucket/... auf SeaweedFS zu.
  • Trino greift über den Hive-Connector auf dieselben Daten zu.