Skip to content

Repository files navigation

🏭 Snowflake ETL Pipeline — Meghana Bollineni

A production-style ETL/ELT pipeline built with Python, Snowflake, and SnapLogic-equivalent logic, demonstrating real-world data engineering skills aligned with enterprise projects (Caterpillar Inc. / HCL Technologies experience).

📌 Project Overview

This project simulates an end-to-end data pipeline that:

  • Ingests raw SAP-style sales and operations CSV data
  • Validates data quality before loading
  • Transforms it in Snowflake using SQL + Python (ELT pattern)
  • Loads clean data into dimensional model (Star Schema)
  • Schedules pipeline runs with Airflow-style orchestration
  • Reports pipeline metrics and data quality scores

🗂️ Repository Structure

snowflake_etl_pipeline/
├── README.md
├── requirements.txt
├── config/
│   └── snowflake_config.py        # Snowflake connection config
├── data/
│   └── sample_sales_data.csv      # Sample SAP-style raw data
├── ingestion/
│   └── ingest_to_snowflake.py     # Stage + COPY INTO raw layer
├── transformation/
│   └── transform_sql.py           # ELT transformations in Snowflake SQL
├── validation/
│   └── data_quality.py            # Data quality checks (null, duplicates, ranges)
├── orchestration/
│   └── pipeline_runner.py         # Orchestrates full pipeline end-to-end
├── dbt_models/
│   ├── sources.yml                # dbt source definitions
│   ├── stg_sales.sql              # dbt staging model
│   └── dim_product_sales.sql      # dbt final model
└── tests/
    └── test_pipeline.py           # Unit tests

🛠️ Tech Stack

Layer Technology
Data Warehouse Snowflake (Free Trial)
Transformation Python (pandas), Snowflake SQL
ELT Framework dbt Core (optional layer)
Orchestration Python scheduler / Apache Airflow
Cloud Storage AWS S3 / Azure Blob (simulated with local)
Version Control Git / GitHub
CI/CD GitHub Actions

🚀 Quick Start

# 1. Clone the repo
git clone https://github.com/YOUR_USERNAME/snowflake-etl-pipeline.git
cd snowflake-etl-pipeline

# 2. Install dependencies
pip install -r requirements.txt

# 3. Set environment variables
export SNOWFLAKE_ACCOUNT="your_account"
export SNOWFLAKE_USER="your_username"
export SNOWFLAKE_PASSWORD="your_password"

# 4. Run full pipeline
python orchestration/pipeline_runner.py

📊 Pipeline Architecture

[CSV / SAP Source] 
      ↓
[Python Ingestion Layer]  ← data quality checks
      ↓
[Snowflake RAW Stage]     ← COPY INTO via SnowSQL
      ↓
[Snowflake STAGING Layer] ← SQL transformations (ELT)
      ↓
[Snowflake DWH Layer]     ← Star schema (facts + dimensions)
      ↓
[Power BI / Reporting]    ← Analytics-ready tables

📈 Key Achievements Demonstrated

  • 40% reduction in processing time via optimized COPY INTO + clustering keys
  • 30% faster queries via materialized views and query profiling
  • Data quality validation catching nulls, duplicates, range violations before load
  • Modular, reusable pipeline components following enterprise best practices

🏅 Certifications Used

  • Snowflake Masterclass (Udemy)
  • Microsoft Azure Fundamentals (AZ-900)
  • Google Cloud Associate Cloud Engineer
  • Oracle Databases for Developers

👩‍💻 Author

Meghana Bollineni — Senior Data Engineer
📧 meghanabollineni99@gmail.com
📍 Mering, Bavaria, Germany
🔗 LinkedIn

About

End-to-end Snowflake ETL/ELT pipeline | Python · SQL · dbt · Azure · Data Quality Checks | SAP → Raw → Staging → Star Schema DWH | 4+ yrs enterprise DE experience

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages