Book description
Learn how to use, deploy, and maintain Apache Spark with this comprehensive guide, written by the creators of the open-source cluster-computing framework. With an emphasis on improvements and new features in Spark 2.0, authors Bill Chambers and Matei Zaharia break down Spark topics into distinct sections, each with unique goals.
Youâ??ll explore the basic operations and common functions of Sparkâ??s structured APIs, as well as Structured Streaming, a new high-level API for building end-to-end streaming applications. Developers and system administrators will learn the fundamentals of monitoring, tuning, and debugging Spark, and explore machine learning techniques and scenarios for employing MLlib, Sparkâ??s scalable machine-learning library.
- Get a gentle overview of big data and Spark
- Learn about DataFrames, SQL, and Datasetsâ??Sparkâ??s core APIsâ??through worked examples
- Dive into Sparkâ??s low-level APIs, RDDs, and execution of SQL and DataFrames
- Understand how Spark runs on a cluster
- Debug, monitor, and tune Spark clusters and applications
- Learn the power of Structured Streaming, Sparkâ??s stream-processing engine
- Learn how you can apply MLlib to a variety of problems, including classification or recommendation
Table of contents
- Preface
- I. Gentle Overview of Big Data and Spark
- 1. What Is Apache Spark?
- 2. A Gentle Introduction to Spark
- 3. A Tour of Spark’s Toolset
- II. Structured APIs—DataFrames, SQL, and Datasets
- 4. Structured API Overview
-
5. Basic Structured Operations
- Schemas
- Columns and Expressions
- Records and Rows
-
DataFrame Transformations
- Creating DataFrames
- select and selectExpr
- Converting to Spark Types (Literals)
- Adding Columns
- Renaming Columns
- Reserved Characters and Keywords
- Case Sensitivity
- Removing Columns
- Changing a Column’s Type (cast)
- Filtering Rows
- Getting Unique Rows
- Random Samples
- Random Splits
- Concatenating and Appending Rows (Union)
- Sorting Rows
- Limit
- Repartition and Coalesce
- Collecting Rows to the Driver
- Conclusion
- 6. Working with Different Types of Data
- 7. Aggregations
- 8. Joins
- 9. Data Sources
- 10. Spark SQL
- 11. Datasets
- III. Low-Level APIs
- 12. Resilient Distributed Datasets (RDDs)
- 13. Advanced RDDs
- 14. Distributed Shared Variables
- IV. Production Applications
- 15. How Spark Runs on a Cluster
- 16. Developing Spark Applications
- 17. Deploying Spark
-
18. Monitoring and Debugging
- The Monitoring Landscape
- What to Monitor
- Spark Logs
- The Spark UI
-
Debugging and Spark First Aid
- Spark Jobs Not Starting
- Errors Before Execution
- Errors During Execution
- Slow Tasks or Stragglers
- Slow Aggregations
- Slow Joins
- Slow Reads and Writes
- Driver OutOfMemoryError or Driver Unresponsive
- Executor OutOfMemoryError or Executor Unresponsive
- Unexpected Nulls in Results
- No Space Left on Disk Errors
- Serialization Errors
- Conclusion
- 19. Performance Tuning
- V. Streaming
- 20. Stream Processing Fundamentals
- 21. Structured Streaming Basics
- 22. Event-Time and Stateful Processing
- 23. Structured Streaming in Production
- VI. Advanced Analytics and Machine Learning
- 24. Advanced Analytics and Machine Learning Overview
- 25. Preprocessing and Feature Engineering
- 26. Classification
- 27. Regression
- 28. Recommendation
- 29. Unsupervised Learning
- 30. Graph Analytics
- 31. Deep Learning
- VII. Ecosystem
- 32. Language Specifics: Python (PySpark) and R (SparkR and sparklyr)
- 33. Ecosystem and Community
- Index
Product information
- Title: Spark: The Definitive Guide
- Author(s):
- Release date: February 2018
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781491912218
You might also like
book
Designing Data-Intensive Applications
Data is at the center of many challenges in system design today. Difficult issues need to …
book
Mythical Man-Month, The: Essays on Software Engineering, Anniversary Edition, 2nd Edition
Few books on software project management have been as influential and timeless as The Mythical Man-Month. …
book
Database Internals
When it comes to choosing, using, and maintaining a database, understanding its internals is essential. But …
book
Effective Java, 3rd Edition
Since this Jolt-award winning classic was last updated in 2008, the Java programming environment has changed …