# kowshikkodumuri/databricks_pyspark_project architecture

> Architecture diagram of the GitHub repository kowshikkodumuri/databricks_pyspark_project, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/kowshikkodumuri/databricks_pyspark_project
- Repository: https://github.com/kowshikkodumuri/databricks_pyspark_project

## Overview

This repository presents a PySpark sales analytics pipeline: transactional and product data are ingested, cleaned, joined, transformed into profitability measures, and aggregated into business KPIs for persistence and reporting. The README documents the workflow and capabilities, but no implementation source was provided, so the graph captures documented relationships rather than verified function calls. The HTML file is named as an analysis project, but its contents and connection to the pipeline are not established.

Main entry points: [`README.md`](https://github.com/kowshikkodumuri/databricks_pyspark_project/blob/main/README.md) (Data ingestion), [`customer_sales_enterprise_.json`](https://github.com/kowshikkodumuri/databricks_pyspark_project/blob/main/customer_sales_enterprise_.json) (Customer sales), [`product_master_enterprise.json`](https://github.com/kowshikkodumuri/databricks_pyspark_project/blob/main/product_master_enterprise.json) (Product master)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_inputs["Data inputs"]
  node_sales_data["Customer sales"]
  node_product_data["Product master"]
end

subgraph group_analytics["Analytics workflow"]
  node_ingestion["Data ingestion<br/>[README.md]"]
  node_cleaning["Data cleaning<br/>[README.md]"]
  node_join_transform["Join and derive<br/>[README.md]"]
  node_kpis["KPI analysis<br/>[README.md]"]
end

subgraph group_outputs["Results"]
  node_persistence["Result persistence<br/>[README.md]"]
  node_lake_store[("Parquet / Delta")]
  node_analysis_html["Sales analysis HTML"]
end

node_stakeholders(("Business stakeholders"))

node_sales_data -->|"loads JSON"| node_ingestion
node_product_data -->|"loads JSON"| node_ingestion
node_ingestion -->|"passes data"| node_cleaning
node_cleaning -->|"cleans data"| node_join_transform
node_join_transform -->|"provides measures"| node_kpis
node_kpis -->|"saves results"| node_persistence
node_persistence -->|"writes Parquet/Delta"| node_lake_store
node_stakeholders -->|"uses insights"| node_kpis

click node_sales_data "https://github.com/kowshikkodumuri/databricks_pyspark_project/blob/main/customer_sales_enterprise_.json"
click node_product_data "https://github.com/kowshikkodumuri/databricks_pyspark_project/blob/main/product_master_enterprise.json"
click node_ingestion "https://github.com/kowshikkodumuri/databricks_pyspark_project/blob/main/README.md"
click node_cleaning "https://github.com/kowshikkodumuri/databricks_pyspark_project/blob/main/README.md"
click node_join_transform "https://github.com/kowshikkodumuri/databricks_pyspark_project/blob/main/README.md"
click node_kpis "https://github.com/kowshikkodumuri/databricks_pyspark_project/blob/main/README.md"
click node_persistence "https://github.com/kowshikkodumuri/databricks_pyspark_project/blob/main/README.md"
click node_analysis_html "https://github.com/kowshikkodumuri/databricks_pyspark_project/blob/main/sales_analysis_project.html"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_sales_data,node_product_data toneBlue
class node_ingestion,node_cleaning,node_join_transform,node_kpis toneAmber
class node_persistence,node_lake_store,node_analysis_html toneMint
class node_stakeholders toneIndigo
```

## Components

### Data inputs

- [Customer sales](https://github.com/kowshikkodumuri/databricks_pyspark_project/blob/main/customer_sales_enterprise_.json): `customer_sales_enterprise_.json`
- [Product master](https://github.com/kowshikkodumuri/databricks_pyspark_project/blob/main/product_master_enterprise.json): `product_master_enterprise.json`

### Analytics workflow

- [Data ingestion](https://github.com/kowshikkodumuri/databricks_pyspark_project/blob/main/README.md): `README.md`
- [Data cleaning](https://github.com/kowshikkodumuri/databricks_pyspark_project/blob/main/README.md): `README.md`
- [Join and derive](https://github.com/kowshikkodumuri/databricks_pyspark_project/blob/main/README.md): `README.md`
- [KPI analysis](https://github.com/kowshikkodumuri/databricks_pyspark_project/blob/main/README.md): `README.md`

### Results

- [Result persistence](https://github.com/kowshikkodumuri/databricks_pyspark_project/blob/main/README.md): `README.md`
- **Parquet / Delta**
- [Sales analysis HTML](https://github.com/kowshikkodumuri/databricks_pyspark_project/blob/main/sales_analysis_project.html): `sales_analysis_project.html`

### Other components

- **Business stakeholders**

## Connections

- Customer sales → Data ingestion: loads JSON
- Product master → Data ingestion: loads JSON
- Data ingestion → Data cleaning: passes data
- Data cleaning → Join and derive: cleans data
- Join and derive → KPI analysis: provides measures
- KPI analysis → Result persistence: saves results
- Result persistence → Parquet / Delta: writes Parquet/Delta
- Business stakeholders → KPI analysis: uses insights
