Introducing .NET for Apache Spark: Distributed Processing for Massive Datasets

  • 3h 12m
  • Ed Elliott
  • Apress
  • 2021

Get started using Apache Spark via C# or F# and the .NET for Apache Spark bindings. This book is an introduction to both Apache Spark and the .NET bindings. Readers new to Apache Spark will get up to speed quickly using Spark for data processing tasks performed against large and very large datasets. You will learn how to combine your knowledge of .NET with Apache Spark to bring massive computing power to bear by distributed processing of extremely large datasets across multiple servers.

This book covers how to get a local instance of Apache Spark running on your developer machine and shows you how to create your first .NET program that uses the Microsoft .NET bindings for Apache Spark. Techniques shown in the book allow you to use Apache Spark to distribute your data processing tasks over multiple compute nodes. You will learn to process data using both batch mode and streaming mode so you can make the right choice depending on whether you are processing an existing dataset or are working against new records in micro-batches as they arrive. The goal of the book is leave you comfortable in bringing the power of Apache Spark to your favorite .NET language.

What You Will Learn

  • Install and configure Spark .NET on Windows, Linux, and macOS
  • Write Apache Spark programs in C# and F# using the .NET bindings
  • Access and invoke the Apache Spark APIs from .NET with the same high performance as Python, Scala, and R
  • Encapsulate functionality in user-defined functions
  • Transform and aggregate large datasets
  • Execute SQL queries against files through Apache Hive
  • Distribute processing of large datasets across multiple servers
  • Create your own batch, streaming, and machine learning programs

Who This Book Is For

.NET developers who want to perform big data processing without having to migrate to Python, Scala, or R; and Apache Spark developers who want to run natively on .NET and take advantage of the C# and F# ecosystems

About the Author

Ed Elliott is a data engineer who has been working in IT for 20 years and has focused on data for the last 15 years. He uses Apache Spark at work and has been contributing to the Microsoft .NET for Apache Spark open source project since it was released in 2019. Ed has been blogging and writing since 2014 at his own blog as well as for SQL Server Central and Redgate. He has spoken at a number of events such as SQLBits, SQL Saturday, and the GroupBy conference.

In this Book

  • Understanding Apache Spark
  • Setting Up Spark
  • Programming with .NET for Apache Spark
  • User-Defined Functions
  • The DataFrame API
  • Spark SQL and Hive Tables
  • Spark Machine Learning API
  • Batch Mode Processing
  • Structured Streaming
  • Troubleshooting
  • Delta Lake