# databricks/learning-spark

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/databricks-learning-spark).**

3,899 stars · 2,416 forks · Java · mit

## Links

- GitHub: https://github.com/databricks/learning-spark
- awesome-repositories: https://awesome-repositories.com/repository/databricks-learning-spark.md

## Description

This project is a learning curriculum and programming guide for Apache Spark, providing a structured set of educational resources and practical code examples for mastering distributed data processing. It serves as a course for building scalable data workflows and big data engineering pipelines.

The repository provides practical source code and project layouts that demonstrate how to connect external data stores, process streaming data, and organize code for distributed environments. It includes implementation examples for scaling machine learning algorithms across clusters to handle large training datasets.

The content covers the development of data workflows, the integration of external storage systems, and the process of compiling and packaging source code into executable assemblies for cluster deployment.

## Tags

### Content Management & Publishing

- [How-To Structured Data](https://awesome-repositories.com/f/content-management-publishing/how-to-structured-data.md) — Provides practical code samples and functional examples demonstrating distributed data processing patterns. ([source](https://github.com/databricks/learning-spark#readme))

### Education & Learning Resources

- [Distributed Computing Curricula](https://awesome-repositories.com/f/education-learning-resources/distributed-computing-curricula.md) — Offers a structured educational course for mastering scalable data workflows and machine learning pipelines using Apache Spark.
- [Big Data Learning Paths](https://awesome-repositories.com/f/education-learning-resources/big-data-learning-paths.md) — Provides a comprehensive set of educational resources and practical examples for mastering distributed data processing.
- [Code Examples](https://awesome-repositories.com/f/education-learning-resources/code-examples.md) — Offers practical source code and project layouts demonstrating distributed data and streaming processing.

### Data & Databases

- [Big Data Processing](https://awesome-repositories.com/f/data-databases/big-data-processing.md) — Provides frameworks and methodologies for transforming massive volumes of data across distributed systems.
- [Data Processing Workflows](https://awesome-repositories.com/f/data-databases/data-processing-workflows.md) — Guides the definition and execution of complex sequences of data analysis and transformation tasks. ([source](https://github.com/databricks/learning-spark/blob/master/pom.xml))
- [Distributed Data Processing Frameworks](https://awesome-repositories.com/f/data-databases/distributed-data-processing-frameworks.md) — Implements systems for partitioning, transforming, and processing large-scale datasets across compute clusters.
- [Distributed Task Schedulers](https://awesome-repositories.com/f/data-databases/distributed-task-schedulers.md) — Provides implementation patterns for orchestrating and distributing data processing workflows across computing clusters.
- [External Data Connectors](https://awesome-repositories.com/f/data-databases/external-data-connectors.md) — Demonstrates how to integrate and host external data streams using specific connectors for distributed processing.
- [External Storage Integrations](https://awesome-repositories.com/f/data-databases/external-storage-integrations.md) — Implements support for connecting diverse external storage drivers to distributed processing engines. ([source](https://github.com/databricks/learning-spark/blob/master/pom.xml))
- [Lazy Evaluation Frameworks](https://awesome-repositories.com/f/data-databases/lazy-evaluation-frameworks.md) — Illustrates the use of lazy evaluation frameworks to defer computation and enable global query optimization.

### DevOps & Infrastructure

- [Distributed Job Execution](https://awesome-repositories.com/f/devops-infrastructure/distributed-job-execution.md) — Demonstrates how to execute computational jobs across multiple worker nodes using submission scripts. ([source](https://github.com/databricks/learning-spark#readme))
- [Orchestrator-Worker Models](https://awesome-repositories.com/f/devops-infrastructure/worker-node-management/orchestrator-worker-models.md) — Explains the architectural separation between central coordination logic and remote execution nodes in a cluster.

### Artificial Intelligence & ML

- [Distributed Training](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/machine-learning-training/distributed-training.md) — Provides implementation examples for scaling machine learning algorithms across clusters to handle massive training sets.
- [Scalable Distributed Pipelines](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-training-and-tuning/training-frameworks/training-and-evaluation-pipelines/scalable-distributed-pipelines.md) — Demonstrates the development of high-scale data processing sequences across distributed compute resources.

### Development Tools & Productivity

- [Machine Learning Pipelines](https://awesome-repositories.com/f/development-tools-productivity/task-pipeline-managers/machine-learning-pipelines.md) — Implements scalable machine learning pipelines for distributed data transformation and model execution. ([source](https://github.com/databricks/learning-spark/blob/master/pom.xml))

### Programming Languages & Runtimes

- [Polyglot Application Development](https://awesome-repositories.com/f/programming-languages-runtimes/polyglot-application-development.md) — Shows how to implement processing functions across multiple languages through a shared core engine.
