PostgreSQL serves as the operational database in a local lakehouse workflow. It holds transactional sales data before Apache Spark extracts, transforms, and loads that data into Apache Iceberg tables. section 3.2.2 section 3.6
postgres: #1
image: postgres:latest
container_name: postgres
environment:
POSTGRES_DB: mydb
POSTGRES_USER: myuser
POSTGRES_PASSWORD: mypassword
networks:
lakehouse-net:
ports:
- "5435:5432"
Defines the PostgreSQL service with a database, credentials, shared lakehouse network, and host port mapping. section 3.2.2
The containerized setup provides:
- The latest official PostgreSQL image. section 3.2.2
- A database named mydb with user myuser and password mypassword. section 3.2.2
- Port 5432 inside the container, mapped to localhost:5435 to avoid local conflicts. section 3.2.2 section 3.2.4
- A shared lakehouse-net network for access by Spark and ingestion tools. section 3.2.2
Fashion sales source
A fashion retail dataset uses a fashion_sales table containing product, category, sales amount, sales date, store location, customer age group, and campaign fields. Sample rows represent sales from New York, Los Angeles, and Chicago. section 3.3.1 section 3.1










