Modern Data Engineering with Apache Spark: A Hands-On Guide for Building Mission-Critical Streaming Applications, 1st Edition

  • 8h 18m
  • Scott Haines
  • Apress
  • 2022

Leverage Apache Spark within a modern data engineering ecosystem. This hands-on guide will teach you how to write fully functional applications, follow industry best practices, and learn the rationale behind these decisions. With Apache Spark as the foundation, you will follow a step-by-step journey beginning with the basics of data ingestion, processing, and transformation, and ending up with an entire local data platform running Apache Spark, Apache Zeppelin, Apache Kafka, Redis, MySQL, Minio (S3), and Apache Airflow.

Apache Spark applications solve a wide range of data problems from traditional data loading and processing to rich SQL-based analysis as well as complex machine learning workloads and even near real-time processing of streaming data. Spark fits well as a central foundation for any data engineering workload. This book will teach you to write interactive Spark applications using Apache Zeppelin notebooks, write and compile reusable applications and modules, and fully test both batch and streaming. You will also learn to containerize your applications using Docker and run and deploy your Spark applications using a variety of tools such as Apache Airflow, Docker and Kubernetes.

​Reading this book will empower you to take advantage of Apache Spark to optimize your data pipelines and teach you to craft modular and testable Spark applications. You will create and deploy mission-critical streaming spark applications in a low-stress environment that paves the way for your own path to production.

What You Will Learn

  • Simplify data transformation with Spark Pipelines and Spark SQL
  • Bridge data engineering with machine learning
  • Architect modular data pipeline applications
  • Build reusable application components and libraries
  • Containerize your Spark applications for consistency and reliability
  • Use Docker and Kubernetes to deploy your Spark applications
  • Speed up application experimentation using Apache Zeppelin and Docker
  • Understand serializable structured data and data contracts
  • Harness effective strategies for optimizing data in your data lakes
  • Build end-to-end Spark structured streaming applications using Redis and Apache Kafka
  • Embrace testing for your batch and streaming applications
  • Deploy and monitor your Spark application

About the Author

​Scott Haines is a full stack engineer with a current focus on real-time, highly available, trustworthy analytics systems. He works at Twilio as a Principal Software Engineer on the Voice Insights team, where he helps drive Spark adoption, creates streaming pipeline architectures, and helps to architect and build out a massive stream and batch processing platform.Prior to Twilio, Scott worked writing the backend Java APIs for Yahoo Games as well as the real-time game ranking and ratings engine (built on Storm) to provide personalized recommendations and page views for 10 million customers. He finished his tenure at Yahoo working for Flurry Analytics where he wrote the alerts and notifications system for mobile devices.

In this Book

  • Introduction to Modern Data Engineering
  • Getting Started with Apache Spark
  • Working with Data
  • Transforming Data with Spark SQL and the DataFrame API
  • Bridging Spark SQL with JDBC
  • Data Discovery and the Spark SQL Catalog
  • Data Pipelines and Structured Spark Applications
  • Workflow Orchestration with Apache Airflow
  • A Gentle Introduction to Stream Processing
  • Patterns for Writing Structured Streaming Applications
  • Apache Kafka and Spark Structured Streaming
  • Analytical Processing and Insights
  • Advanced Analytics with Spark Stateful Structured Streaming
  • Deploying Mission-Critical Spark Applications on Spark Standalone
  • Deploying Mission-Critical Spark Applications on Kubernetes
SHOW MORE
FREE ACCESS