Every year we have a big increment of data that we need to store and analyze. To be able to process such amounts of data, we need to use a technology that can distribute multiple computations and make them more efficient. Apache Spark is a technology that allows us to process big data leading to faster and scalable process. If you're looking for a complete, comprehensive source on Apache Spark, then go for this Learning Path.
Packt’s Video Learning Paths are a series of individual video products put together in a logical and stepwise manner such that each video builds on the skills learned in the video before it.
The highlights of this Learning Path are:
Let’s take a quick look at your journey. This Learning Path introduce you to the various components of the Spark framework to efficiently process, analyze, and visualize data. You will learn about the Apache Spark programming fundamentals such as RDD and see which operations can be used to perform a transformation or action operation on the RDD. You will then learn how to load and save data from various data sources as different type of files, No-SQL and RDBMS databases. Moving ahead, you will explore the advanced programming concepts such as managing key-value pairs and accumulators. You'll also discover how to create an effective Spark application and execute it on Hadoop cluster to the data and gain insights to make informed business decisions.
Moving ahead, you'll learn about data mining and data cleaning, wherein we will look at the input data structure and how input data is loaded. You'll be then writing actual jobs that analyze data. You'll learn how to handle big amount of unbounded infinite streams of data. Furthermore, you'll look at common problems when processing event streams: sorting, watermarks, deduplication, and keeping state (for example, user sessions). Finally you'll implement streaming processing using Spark Streaming and analyze traffic on a web page in real time.
After completing this Learning Path, you will have a sound understanding of the Spark framework, which will help you in analyzing and processing big data.
About the Author:
We have combined the best works of the following esteemed authors to ensure that your learning journey is smooth:
Nishant Garg has over 16 years of software architecture and development experience in various technologies, such as Java Enterprise Edition, SOA, Spring, Hadoop, Hive, Flume, Sqoop, Oozie, Spark, YARN, Impala, Kafka, Storm, Solr/Lucene, NoSQL databases (such as HBase, Cassandra, and MongoDB), and MPP databases (such as GreenPlum).
He received his MS in software systems from the Birla Institute of Technology and Science, Pilani, India, and is currently working as a senior technical architect for the Big Data R&D Labs with Impetus Infotech Pvt. Ltd. Nishant has also undertaken many speaking engagements on big data technologies and is also the author of Learning Apache Kafka & HBase Essestials, Packt Publishing.
Tomasz Lelek is a software engineer, programming mostly in Java, Scala. He is a fan of microservices architecture, and functional programming. He has dedicated considerable time and effort to be better every day. He recently dived into big data technologies such as Apache Spark and Hadoop. Recently, he was a speaker at conferences in Poland - Confitura and JDD (Java Developers Day) and also at Krakow Scala User Group. He has also conducted a live coding session at Geecon Conference.
What are the origins of Apache Spark and what are its uses?
What are the various components in Apache Spark?
This video gets us familiar with the tools used in Apache spark.
This video explains the complete historical journey of project Nutch to Apache Hadoop—how the project Hadoop was started, what were the research papers that influenced the Spark project, and so on. In the end, various goals achieved by developing Hadoop are explained.
In this video, we are going to look at the Apache Hadoop background running JVM processes—name node, data node, resource manager, and node manager. It also provides an overview of Hadoop components—HDFS, YARN, and Map Reduce programming mode.
This video shares more details about Hadoop components Hadoop distributed filesystem—Goals, HDFS components, and the working of HDFS. It also explains another Hadoop component YARN—components, lifecycle, and its use cases.
This video provides an overview of Map Reduce—the Hadoop programming model and its execution behavior at various stages.
The aim of this video is to introduce the Scala language and its features, and by the end of this video, you should be able to get started with Scala.
The aim of this video is to explain the fundamentals of Scala Programming, such as Scala classes, fields, methods, and the different types of arguments, such as default and named arguments passed to class constructors and methods.
The aim of this video is to explain the objects in Scala language, singleton object in Scala, and outline the usages of objects in Scala applications. It also describes companion objects.
The aim of this video is to explain the structure of the Scala collections hierarchy. Look at the examples of different collection types, such as Array, Set, and Map. It also covers how to apply functions to data in collections and outlines the basics of structural sharing.
The aim of this video is to start your learning of Apache Spark fundamentals. It introduces you to the Spark component architecture and how different components are stitched together for Spark execution.
The aim of this video is to take the first step towards Spark programming. It explains the Spark Context and also shares the need of Resilient Distributed Datasets called RDD. It also explains the execution approach change in Map Reduce due to RDD.
The aim of this video is to explain the operations that can be applied on RDDs. These operations are in the form of transformations and actions. It explains various operations under both the categories with examples.
The aim of this video is to explain and demonstrate data loading and storing in Spark from different file types; such as text, CSV, JSON file, and sequence file; different filesystems, such as local filesystem, Amazon S3, and HDFS; and different databases, such as My SQL, Postgres, HBase, and so on.
The aim of this video is to explain the motivations behind key-value-based RDD and the creation of such RDDs. Next, it explains the various transformations and actions that can be applied on key-value-based RDD. Finally, it explains data partitioning techniques in Spark.
The aim of this video is to explain a few more advance concepts, such as accumulators, broadcast variables, and passing data to external programs using pipes.
The aim of this video is to demonstrate the writing of Spark jobs using Eclipse-based Scala IDE, creating Spark job JAR files, and, finally, copying and executing the Spark job on Hadoop cluster.
In this video, we will cover the Spark Architecture.
This video focuses on creating a project.
This video shows the installation of spark-submit on our machine.
In this video we will look at the API of Spark.
In this video, we will learn about Spark API to load data.
In this video, we will cover how to load input data.
In this video, we look at how to tokenizing input data
In this video, we will focus on solving problems.
This video shows how to write Robust Spark Test Suite.
This video shows how to start our Apache Spark job for two text books.
In this video, we will explore the Spark-Streaming Architecture and API
In this video, we will see how to create a project in Spark streaming
In this video, we will define data Source and data sink
In this video, we will see how to implement testing
In this video, we will be use event time and processing time.
In this video, we will sort a stream of data.
In this video, we will deduplicate our events.
In this video, we will implement transformation and actual logic of our processing.
In this video, we will write test for the streaming job.
In this video, we will create processing logic that needs to keep state of the user session.
In this video, we will summarize all the topics covered in this course.
Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.
With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.
From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.
Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.