EncartaLabs

Apache Spark - Application Performance Tuning

( Duration: 3 Days )

This Apache Spark - Application Performance Tuning training course delivers the key concepts and expertise that developers need to improve the performance of their Apache Spark applications.You will learn how to identify common sources of poor performance in Spark applications, techniques for avoiding or solving them, and best practices for Spark application monitoring.

By attending Apache Spark - Application Performance Tuning workshop, delegates will learn to:

  • Understand Apache Spark's architecture, job execution, and how techniques such as lazy execution and pipelining can improve runtime performance
  • Evaluate the performance characteristics of core data structures such as RDD and DataFrames
  • Select the file formats that will provide the best performance for your application
  • Identify and resolve performance problems caused by data skew
  • Use partitioning, bucketing, and join optimizations to improve SparkSQL performance
  • Understand the performance overhead of Python-based RDDs, DataFrames, and user-defined functions
  • Take advantage of caching for better application performance
  • Understand how the Catalyst and Tungsten optimizers work
  • Understand how Workload XM can help troubleshoot and proactively monitor Spark applications performance
  • New features in Spark and specifically how the Adaptive Query Execution engine improves performance

  • Spark examples and hands-on exercises are presented in Python and the ability to program in this language is required.
  • Basic familiarity with the Linux command line is assumed.
  • Basic knowledge of SQL is helpful.

The Apache Spark - Application Performance Tuning class is ideal for:

  • Software developers, engineers, and data scientists who have experience developing Spark applications and want to learn how to improve the performance of their code.

COURSE AGENDA

1

Spark Architecture

  • RDDs
  • DataFrames and Datasets
  • Lazy Evaluation
  • Pipelining
2

Data Sources and Formats

  • Available Formats Overview
  • Impact on Performance
  • The Small Files Problem
3

Inferring Schemas

  • The Cost of Inference
  • Mitigating Tactics
4

Dealing With Skewed Data

  • Recognizing Skew
  • Mitigating Tactics
5

Catalyst and Tungsten Overview

  • Catalyst Overview
  • Tungsten Overview
6

Mitigating Spark Shuffles

  • Denormalization
  • Broadcast Joins
  • Map-Side Operations
  • Sort Merge Joins
7

Partitioned and Bucketed Tables

  • Partitioned Tables
  • Bucketed Tables
  • Impact on Performance
8

Improving Join Performance

  • Skewed Joins
  • Bucketed Joins
  • Incremental Joins
9

Pyspark Overhead and UDFs

  • Pyspark Overhead
  • Scalar UDFs
  • Vector UDFs using Apache Arrow
  • Scala UDFs
10

Caching Data for Reuse

  • Caching Options
  • Impact on Performance
  • Caching Pitfalls
11

Workload XM (WXM) Introduction

  • WXM Overview
  • WXM for Spark Developers
12

What's New in Spark 3.0?

  • Adaptive Number of Shuffle Partitions
  • Skew Joins
  • Convert Sort Merge Joins to Broadcast Joins
  • Dynamic Partition Pruning
  • Dynamic Coalesce Shuffle Partitions

Encarta Labs Advantage

  • One Stop Corporate Training Solution Providers for over 4,000 Modules on a variety of subjects
  • All courses are delivered by Industry Veterans
  • Get jumpstarted from newbie to production ready in a matter of few days
  • Trained more than 50,000 Corporate executives across the Globe
  • All our trainings are conducted in workshop mode with more focus on hands-on sessions

View our other course offerings by visiting http://encartalabs.com/course-catalogue-all.php

Contact us for delivering this course as a public/open-house workshop/online training for a group of 10+ candidates.

Top