The data engineering ecosystem has more tools than any team can adopt. This module provides deep dives into the most important platforms and decision frameworks for when to use each one.
Select a platform to understand its architecture, strengths, and ideal use case.
Architecture: Built on Apache Spark. Unified lakehouse platform with Delta Lake as the default table format. Runs on AWS, Azure, and GCP. Strengths: Excellent Spark performance (Photon engine), Unity Catalog for governance, integrated ML (MLflow), SQL analytics, streaming, and notebooks. Best for: Teams that need Spark at scale, ML pipelines, and a unified platform for data engineering + data science. Key feature: Delta Live Tables for declarative ETL, Unity Catalog for cross-workspace governance.
| Feature | Databricks | Snowflake | BigQuery | Redshift |
|---|---|---|---|---|
| Architecture | Lakehouse (Spark) | Cloud warehouse | Serverless warehouse | MPP warehouse |
| Default format | Delta Lake | Proprietary + Iceberg | Capacitor (internal) | Proprietary columnar |
| Compute model | Clusters | Virtual warehouses | Serverless | Clusters |
| Multi-cloud | Yes | Yes | GCP only | AWS primary |
| ML integration | Native (MLflow) | Snowpark ML | BigQuery ML | SageMaker |
| Streaming | Structured Streaming | Snowpipe | Streaming inserts | Kinesis integration |
Apache Spark is a distributed computing framework for processing large datasets across clusters. PySpark is its Python API. Spark supports batch processing (DataFrames, Spark SQL), streaming (Structured Streaming), machine learning (MLlib), and graph processing (GraphX).
dbt transforms data inside the warehouse using SQL + Jinja templating. It brings software engineering practices to analytics: version control, modular SQL models, automated testing, and auto-generated documentation. dbt does not extract or load data; it only transforms.
| Service category | AWS | Azure | GCP |
|---|---|---|---|
| Object storage | S3 | ADLS Gen2 | Cloud Storage (GCS) |
| Warehouse | Redshift | Synapse / Fabric | BigQuery |
| Spark | EMR | HDInsight / Synapse Spark | Dataproc |
| Streaming | Kinesis / MSK | Event Hubs / HDInsight Kafka | Pub/Sub / Dataflow |
| Orchestration | MWAA (Airflow) / Step Functions | Data Factory / Synapse Pipelines | Cloud Composer (Airflow) |
| Serverless functions | Lambda | Azure Functions | Cloud Functions |
1. What is the primary purpose of dbt in a data pipeline?
2. What differentiates Databricks from Snowflake architecturally?
3. For a 2 GB CSV file that needs quick analysis, which tool is the best fit?
4. What does "lazy evaluation" mean in Apache Spark?
5. Which factor should NOT drive your primary tool selection?