cloudera-training-courses
8411  Reviews star_rate star_rate star_rate star_rate star_half

Apache Spark Application Performance Tuning

This three-day hands-on training course delivers the key concepts and expertise developers need to improve the performance of their Apache Spark applications. During the course, participants will...

Read More
$2,640 USD GSA  $2,222.42
Duration 3 days
Course Code SPARK-PT
Available Formats Classroom

Overview

This three-day hands-on training course delivers the key concepts and expertise developers need to improve the performance of their Apache Spark applications. During the course, participants 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. Apache Spark Application Performance Tuning presents the architecture and concepts behind Apache Spark and underlying data platform, then builds on this foundational understanding by teaching students how to tune Spark application code. The course format emphasizes instructor-led demonstrations illustrate both performance issues and the techniques that address them, followed by hands-on exercises that give students an opportunity to practice what they’ve learned through an interactive notebook environment. The course applies to Spark 2.4, but also introduces the Spark 3.0 Adaptive Query Execution framework.

Skills Gained

Students who successfully complete this course will be able 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
  • Learn about the new features in Spark 3.0 and specifically how the Adaptive Query Execution engine improves performance

Who Can Benefit

This course is designed 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. This is not an introduction to Spark.

Prerequisites

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.

Course Details

Spark Architecture

  • RDDs
  • DataFrames and Datasets
  • Lazy Evaluation
  • Pipelining

Data Sources and Formats

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

Inferring Schemas

  • The Cost of Inference
  • Mitigating Tactics

Dealing With Skewed Data

  • Recognizing Skew
  • Mitigating Tactics

Catalyst and Tungsten Overview

  • Catalyst Overview
  • Tungsten Overview

Mitigating Spark Shuffles

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

Partitioned and Bucketed Tables

  • Partitioned Tables
  • Bucketed Tables
  • Impact on Performance

Improving Join Performance

  • Skewed Joins
  • Bucketed Joins
  • Incremental Joins

Pyspark Overhead and UDFs

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

Caching Data for Reuse

  • Caching Options
  • Impact on Performance
  • Caching Pitfalls

Workload XM (WXM) Introduction

  • WXM Overview
  • WXM for Spark Developers

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

Appendix A: Partition Processing

Appendix B: Broadcasting

Appendix C: Scheduling

Schedule

FAQ

Does the course schedule include a Lunchbreak?

Classes typically include a 1-hour lunch break around midday. However, the exact break times and duration can vary depending on the specific class. Your instructor will provide detailed information at the start of the course.

What languages are used to deliver training?

Most courses are conducted in English, unless otherwise specified. Some courses will have the word "FRENCH" marked in red beside the scheduled date(s) indicating the language of instruction.

What does GTR stand for?

GTR stands for Guaranteed to Run; if you see a course with this status, it means this event is confirmed to run. View our GTR page to see our full list of Guaranteed to Run courses.

Does Ascendient Learning deliver group training?

Yes, we provide training for groups, individuals and private on sites. View our group training page for more information.

What does vendor-authorized training mean?

As a vendor-authorized training partner, we offer a curriculum that our partners have vetted. We use the same course materials and facilitate the same labs as our vendor-delivered training. These courses are considered the gold standard and, as such, are priced accordingly.

Is the training too basic, or will you go deep into technology?

It depends on your requirements, your role in your company, and your depth of knowledge. The good news about many of our learning paths, you can start from the fundamentals to highly specialized training.

How up-to-date are your courses and support materials?

We continuously work with our vendors to evaluate and refresh course material to reflect the latest training courses and best practices.

Are your instructors seasoned trainers who have deep knowledge of the training topic?

Ascendient Learning instructors have an average of 27 years of practical IT experience and have also served as consultants for an average of 15 years. To stay current, instructors spend at least 25 percent of their time learning new, emerging technologies and courses.

Do you provide hands-on training and exercises in an actual lab environment?

Lab access is dependent on the vendor and the type of training you sign up for. However, many of our top vendors will provide lab access to students to test and practice. The course description will specify lab access.

Will you customize the training for our company’s specific needs and goals?

We will work with you to identify training needs and areas of growth.  We offer a variety of training methods, such as private group training, on-site of your choice, and virtually. We provide courses and certifications that are aligned with your business goals.

How do I get started with certification?

Getting started on a certification pathway depends on your goals and the vendor you choose to get certified in. Many vendors offer entry-level IT certification to advanced IT certification that can boost your career. To get access to certification vouchers and discounts, please contact info@ascendientlearning.com.

Will I get access to content after I complete a course?

You will get access to the PDF of course books and guides, but access to the recording and slides will depend on the vendor and type of training you receive.

How do I request a W9 for Ascendient Learning?

View our filing status and how to request a W9.

Reviews

Exit certified was great as it is very in depth and hands on learning which made it very easy to learn this type of work.

This was effective way to provide a ton of information in a short time period.

This course gave me a clearer understanding of the AWS cloud architecture.

Great class I learned a great deal from the material. There would seem to a large amount that I need to learn about.

ExitCertified gave a great course on AWS that covered all of the basics in depth with good lab materials.