logo

Apache Hadoop Course

course overview

Click to View dates & book now

Overview

Scala and Python developers will learn key concepts and gain the expertise needed to ingest and process data, and develop high-performance applications using Apache Spark 2.

This four-day hands-on training course delivers the key concepts and expertise developers need to develop high-performance parallel applications with Apache Spark 2. Participants will learn how to use Spark SQL to query structured data and Spark Streaming to perform real-time processing on streaming data from a variety of sources. Developers will also practice writing applications that use core Spark to perform ETL processing and iterative algorithms. The course covers how to work with large datasets stored in a distributed file system, and execute Spark applications on a Hadoop cluster. After taking this course, participants will be prepared to face real-world challenges and build applications to execute faster decisions, better decisions, and interactive analysis, applied to a wide variety of use cases, architectures, and industries.

Hands-on exercises take place on a live cluster, running in the cloud. A private cluster will be built for each student to use during the class.

With this course update, the agenda is streamlined to help you quickly become productive with the most important technologies, including Spark 2.

Audience

This course is designed for:

  • developers who have programming experience
  • engineers who have programming experience

Skills Gained

Through instructor-led discussion and interactive, hands-on exercises, participants will navigate the Hadoop ecosystem, learning skills such as:

  • How the Apache Hadoop ecosystem fits in with the data processing lifecycle
  • How data is distributed, stored, and processed in a Hadoop cluster
  • How to write, configure, and deploy Apache Spark applications on a Hadoop cluster
  • How to use the Spark shell and Spark applications to explore, process, and analyze distributed data
  • How to query data using Spark SQL, DataFrames, and Datasets
  • How to use Spark Streaming to process a live data stream

Prerequisites

  • Apache Spark examples and hands-on exercises are presented in Scala and Python. The ability to program in one of those languages is required.
  • Basic familiarity with the Linux command line is assumed.
  • Basic knowledge of SQL is helpful.
  • Prior knowledge of Hadoop and/or Spark is not required.

The supply of this course by DDLS is governed by the booking terms and conditions. Please read the terms and conditions carefully before enrolling in this course, as enrolment in the course is conditional on acceptance of these terms and conditions.

Outline

  • Introduction to Apache Hadoop & the Hadoop Ecosystem
  • Apache Hadoop File Storage
  • Distributed Processing on an Apache Hadoop Cluster
  • Apache Spark Basics
  • Working with DataFrames and Schemas
  • Analysing Data with DataFrame Queries
  • RDD Overview
  • Transforming Data with RDDs
  • Aggregating Data with Pair RDDs
  • Querying Tables and Views with Apache Spark SQL
  • Working with Datasets in Scala
  • Writing, Configuring & Running Apache Spark Applications
  • Spark Distributed Processing
  • Distributed Data Persistence
  • Common Patterns in Apache Spark Data Processing
  • Introduction to Structured Streaming
  • Structured Streaming with Apache Kafka
  • Aggregating and Joining Streaming DataFrames

1. Introduction

2. Introduction to Apache Hadoop and the Hadoop Ecosystem

  • Apache Hadoop Overview
  • Data Processing
  • Introduction to the Hands-On Exercises

3. Apache Hadoop File Storage

  • Apache Hadoop Cluster Components
  • HDFS Architecture
  • Using HDFS

4. Distributed Processing on an Apache Hadoop Cluster

  • YARN Architecture
  • Working With YARN

5. Apache Spark Basics

  • What is Apache Spark?
  • Starting the Spark Shell
  • Using the Spark Shell
  • Getting Started with Datasets and DataFrames
  • DataFrame Operations

6. Working with DataFrames and Schemas

  • Creating DataFrames from Data Sources
  • Saving DataFrames to Data Sources
  • DataFrame Schemas
  • Eager and Lazy Execution

7. Analyzing Data with DataFrame Queries

  • Querying DataFrames Using Column Expressions
  • Grouping and Aggregation Queries
  • Joining DataFrames

8. RDD Overview

  • RDD Data Sources
  • Creating and Saving RDDs
  • RDD Operations

9. Transforming Data with RDDs

  • Writing and Passing Transformation Functions
  • Transformation Execution
  • Converting Between RDDs and DataFrames

10. Aggregating Data with Pair RDDs

  • Key-Value Pair RDDs
  • Map-Reduce
  • Other Pair RDD Operations

11. Querying Tables and Views with SQL

  • Querying Tables in Spark Using SQL
  • Querying Files and Views
  • The Catalog API

12. Working with Datasets in Scala

  • Datasets and DataFrames
  • Creating Datasets
  • Loading and Saving Datasets
  • Dataset Operations

13. Writing, Configuring, and Running Spark Applications

  • Writing a Spark Application
  • Building and Running an Application
  • Application Deployment Mode
  • The Spark Application Web UI
  • Configuring Application Properties

14. Spark Distributed Processing

  • Review: Apache Spark on a Cluster
  • RDD Partitions
  • Example: Partitioning in Queries
  • Stages and Tasks
  • Job Execution Planning
  • Example: Catalyst Execution Plan
  • Example: RDD Execution Plan

15. Distributed Data Persistence

  • DataFrame and Dataset Persistence
  • Persistence Storage Levels
  • Viewing Persisted RDDs

16. Common Patterns in Spark Data Processing

  • Common Apache Spark Use Cases
  • Iterative Algorithms in Apache Spark
  • Machine Learning
  • Example: k-means

17. Introduction to Structured Streaming

  • Apache Spark Streaming Overview
  • Creating Streaming DataFrames
  • Transforming DataFrames
  • Executing Streaming Queries

18. Structured Streaming with Apache Kafka

  • Overview
  • Receiving Kafka Messages
  • Sending Kafka Messages

19. Aggregating and Joining Streaming DataFrames

  • Streaming Aggregation
  • Joining Streaming DataFrames

20. Conclusion A. Message Processing with Apache Kafka

  • What Is Apache Kafka?
  • Apache Kafka Overview
  • Scaling Apache Kafka
  • Apache Kafka Cluster Architecture
  • Apache Kafka Command Line Tools

Talk to an expert

Thinking about Onsite?

If you need training for 3 or more people, you should ask us about onsite training. Putting aside the obvious location benefit, content can be customised to better meet your business objectives and more can be covered than in a public classroom. Its a cost effective option. One on one training can be delivered too, at reasonable rates.

Submit an enquiry from any page on this site, and let us know you are interested in the requirements box, or simply mention it when we contact you.

All $ prices are in USD unless it’s a NZ or AU date

SPVC = Self Paced Virtual Class

LVC = Live Virtual Class

Please Note: All courses are availaible as Live Virtual Classes

Trusted by over 1/2 million students in 15 countries

Our clients have included prestigious national organisations such as Oxford University Press, multi-national private corporations such as JP Morgan and HSBC, as well as public sector institutions such as the Department of Defence and the Department of Health.