This course covers all the fundamentals of Apache Spark with Java and teaches you everything you need to know about developing Spark applications with Java. At the end of this course, you will have gained an in-depth knowledge pf Apache Spark, general big data analysis and manipulations skills. With these new skills you'll be able to help your company to adapt Apache Spark for building a big data processing pipeline and data analytics applications. This course covers 10+ hands-on big data examples. You will learn valuable knowledge on how to frame data analysis problems as Spark problems. Together we will learn examples such as aggregating NASA Apache web logs from different sources; we will explore the price trend by looking at the real estate data in California; we will write Spark applications to find out the median salary of developers in different countries through the Stack Overflow survey data; we will develop a system to analyze how maker spaces are distributed across different regions in the United Kingdom, and much more.
What You Will Learn
- An overview of the architecture of Apache Spark.
- Work with Apache Spark s primary abstraction, resilient distributed datasets(RDDs) to process and analyze large datasets.
- Develop Apache Spark 2.0 applications using RDD transformations and actions, and Spark SQL.
- Scale up Spark applications on a Hadoop YARN cluster through Amazon s Elastic MapReduce service.
- Analyze structured and semi-structured data using Datasets and DataFrames, and develop a thorough understanding of Spark SQL.
- Share information across different nodes on an Apache Spark cluster by broadcast variables and accumulators.
- Learn advanced techniques to optimize and tune Apache Spark jobs by partitioning, caching and persisting RDDs.
- Learn best practices for working with Apache Spark in the field.
Anyone who wants to fully understand how Apache Spark technology works and learn how Apache Spark is being used in the field. Software engineers who want to develop Apache Spark 2.0 applications using Spark Core and Spark SQL. Data scientists or data engineers who want to advance their career by improving their big data processing skills.
About The Author
James Lee: James Lee is a passionate software wizard working at one of the top Silicon Valley-based start-ups specializing in big data analysis. He has also worked at Google and Amazon. In his day job, he works with big data technologies, including Cassandra and Elasticsearch, and is an absolute Docker geek and IntelliJ IDEA lover. Apart from his career as a software engineer, he is keen on sharing his knowledge with others and guiding them, especially in relation to start-ups and programming. He has been teaching courses and conducting workshops on Java programming / IntelliJ IDEA since he was 21. James also enjoys skiing and swimming, and is a passionate traveler.
Table of contents
- Chapter 1 : Get Started with Apache Spark
- Chapter 2 : RDD
- Chapter 3 : Spark Architecture and Components
Chapter 4 : Pair RDD
- Introduction to Pair RDD
- Create Pair RDDs
- Filter and MapValue Transformations on Pair RDD
- Reduce By Key Aggregation
- Sample solution for the Average House problem
- Group by Key Transformation
- Sort by Key Transformation
- Sample Solution for the Sorted Word Count Problem
- Data Partitioning
- Join Operations
- Chapter 5 : Advanced Spark Topic
- Chapter 6 : Spark SQL
- Chapter 7 : Running Spark in a Cluster
- Title: Apache Spark with Java - Learn Spark from a Big Data Guru
- Release date: April 2018
- Publisher(s): Packt Publishing
- ISBN: 9781788994330
You might also like
The Complete Coding Interview Guide in Java
Explore a wide variety of popular interview questions and learn various techniques for breaking down tricky …
Software Architecture for Busy Developers
A quick start guide to learning essential software architecture tools, frameworks, design patterns, and best practices …
Effective Java, 3rd Edition
Since this Jolt-award winning classic was last updated in 2008, the Java programming environment has changed …
Java Coding Problems
Develop your coding skills by exploring Java concepts and techniques such as Strings, Objects and Types, …