An introductory course to learn PySpark with Databricks.
Requirements:
- A free Databricks Community edition account - Link
- A free Kaggle account - Link
- You need to create an API Token for your Kaggle account - Link
The course is divided into 5 Databricks Notebooks:
- Introduction to Apache Spark and PySpark in Databricks: In this Notebook we explore the basics of Spark, PySpark and Databricks, the distributed architecture of Spark, the data structures available in Spark and advantages / disadvantages of PySpark vs. Pandas.
- PySpark Operations: In this Notebook we explore the main operations that can be performed over PySpark DataFrames: Transformations, actions and aggregations. We also introduce Window Functions to perform advanced aggregations.
- Exploratory Data Analysis (EDA) with PySpark and Databricks: In this Notebook we put in practice all we have learned from the previous Notebooks to perform an Exploratory Data Analysis (EDA) process using the Credit Card Transactions dataset available in Kaggle. This Notebook also includes 5 practice exercises for the student. The solutions are available in another Notebook inside the repository.
- Monitoring and optimization in PySpark: In this Notebook we analyze monitoring of Spark operations using the Apache Spark web UI. We also introduce some optimization strategies that can be performed in PySpark, and we explain the data skew issue with some strategies to mitigate it.
- Next steps with PySpark and Databricks: In this Notebook we can find some ideas to keep learning and exploring Apache Spark and Databricks.
The course material is available in Spanish.
Un taller introductorio a PySpark con Databricks.
- Una cuenta gratuita en Databricks Community edition - Link
- Una cuenta gratuita de Kaggle - Link
- Obtener un API Token para Kaggle desde la cuenta creada - Link
El taller está compuesto por 5 Notebooks de Databricks:
- Introducción a Apache Spark y PySpark en Databricks: En este Notebook se exploran los principios básicos de Spark, PySpark y Databricks, la arquitectura distribuida de Apache Spark, las estructuras de datos disponibles en Apache Spark y las ventajas y deventajas de usar PySpark frente a Pandas.
- Operaciones con PySpark: En este Notebook se exploran a detalle las principales operaciones que se pueden llevar a cabo sobre los DataFrames de PySpark: Transformaciones, acciones y agregaciones. Se introduce también el uso de las funciones ventana o Window functions para realizar agregaciones más avanzadas.
- Análisis exploratorio con PySpark y Databricks: En este Notebook se ponen en práctica todos los conceptos estudiados en los 2 primeros Notebooks para llevar a cabo un análisis exploratorio sobre un conjunto de datos de transacciones fraudulentas con tarjeta de crédito disponible en Kaggle. Este notebook también contiene 5 ejercicios para practicar. En el repositorio también se encuentra el Notebook con las respuestas a los ejercicios.
- Monitoreo y optimización en PySpark: En este Notebook se analiza el monitoreo de las operaciones en ejecución usando la interfaz web de Apache Spark, se exploran distintas estrategias de optimización en operaciones con PySpark, así como se describe el problema del data skew o sesgo de datos y estrategias para mitigarlo.
- Siguientes pasos con PySpark y Databricks: En este Notebook se proponen algunas ideas para continuar aprendiendo y explorando Apache Spark y Databricks.
El contenido del taller está disponible en español.