Apache Spark for Java Developers
What you'll learn
- Use functional style Java to define complex data processing jobs
- Learn the differences between the RDD and DataFrame APIs
- Use an SQL style syntax to produce reports against Big Data sets
- Use Machine Learning Algorithms with Big Data and SparkML
- Connect Spark to Apache Kafka to process Streams of Big Data
- See how Structured Streaming can be used to build pipelines with Kafka
Requirements
- Java 8 is required for the course. Spark does not currently support Java9+, and you need Java 8 for the functional Lambda syntax
- Previous knowledge of Java is assumed, but anything above the basics is explained
- Some previous SQL will be useful for part of the course, but if you've never used it before this will be a good first experience
Description
Get started with the amazing Apache Spark parallel computing framework - this course is designed especially for Java Developers.
If you're new to Data Science and want to find out about how massive datasets are processed in parallel, then the Java API for spark is a great way to get started, fast.
All of the fundamentals you need to understand the main operations you can perform in Spark Core, SparkSQL and DataFrames are covered in detail, with easy to follow examples. You'll be able to follow along with all of the examples, and run them on your own local development computer.
Included with the course is a module covering SparkML, an exciting addition to Spark that allows you to apply Machine Learning models to your Big Data! No mathematical experience is necessary!
And finally, there's a full 3 hour module covering Spark Streaming, where you will get hands-on experience of integrating Spark with Apache Kafka to handle real-time big data streams. We use both the DStream and the Structured Streaming APIs.
Optionally, if you have an AWS account, you'll see how to deploy your work to a live EMR (Elastic Map Reduce) hardware cluster. If you're not familiar with AWS you can skip this video, but it's still worthwhile to watch rather than following along with the coding.
You'll be going deep into the internals of Spark and you'll find out how it optimizes your execution plans. We'll be comparing the performance of RDDs vs SparkSQL, and you'll learn about the major performance pitfalls which could save a lot of money for live projects.
Throughout the course, you'll be getting some great practice with Java Lambdas - a great way to learn functional-style Java if you're new to it.
Who this course is for:
- Anyone who already knows Java and would like to explore Apache Spark
- Anyone new to Data Science who want a fast way to get started, without learning Python, Scala or R!
Instructors
Richard has been developing software for the past 25 years and has a particular fondness for the JVM ecosystem. For the last 15 years he's delivered training courses to projects around the world, and was one of the founders of VirtualPairProgrammers.
His main field of interest is in the DevOps area, managing several large scale projects in the cloud.
Having worked for over 20 years as a professional programmer, mainly in banking, Matt now teaches for Virtual Pair Programmers. His specialist areas are advanced Java, Spring Framework, Kotlin and Akka.
Outside of work, Matt enjoys cycling, but prefers going downhill to uphill, and he also plays the piano… very badly.
Virtual Pair Programmers are here to help you take your programming skills to the next level. We're a group of enthusiastic software trainers who are all professional developers, and have a really practical approach to learning - our courses are full of real world case studies and hands on examples. We teach what you need to know to be productive in the workplace and to get the job done, rather than going through each feature turn by turn.