Visão Geral
Este curso apresenta o mecanismo de computação distribuída Apache Spark e é adequado para desenvolvedores, analistas de dados, arquitetos, gerentes técnicos e qualquer pessoa que precise usar o Spark de maneira prática. É baseado no lançamento do Spark 2.x. O curso fornece uma sólida introdução técnica à arquitetura do Spark e como o Spark funciona. Ele abrange os blocos básicos de construção do Spark (por exemplo, RDDs e o mecanismo de computação distribuído), bem como construções de nível superior que fornecem uma interface mais simples e mais capaz.Inclui uma cobertura detalhada do Spark SQL, DataFrames e DataSets, que agora são a API de programação preferida. Isso inclui explorar possíveis problemas de desempenho e estratégias para otimização. O curso também abrange recursos mais avançados, como o uso do Spark Streaming para processar dados de streaming,
Objetivo
- Engenheiros de software que desejam desenvolver aplicativos na memória
para aplicativos sensíveis ao tempo e altamente iterativos
em um ambiente HDP corporativo.
Pre-Requisitos
- Os alunos participantes
devem estar familiarizados com os princípios de programação e ter experiência
anterior no desenvolvimento de software usando o Scala.
- A
experiência anterior com fluxo de dados, SQL e HDP também é útil, mas não é necessária.
Informações Gerais
- Carga
horaria, 32h
- Se noturno o
curso acontece de segunda a sexta das 19h às 23h, total de 8 noites de curso prático.
- Se aos sábados
o curso acontece de 09h às 18h, total de 4 sábados de curso prático
Formato
de entrega:
- Presencial em
sala de aula na presença de um instrutor/consultor especialista Spark Developer e docente em
sala de aula.
- ON-LINE ao
vivo em tempo real com a mesma qualidade do curso presencial, por se tratar de
um curso 100% acompanhado de um instrutor em tempo real, onde todo aluno tem
contato com o instrutor ao vivo, e com os alunos presentes em sala de aula e
com os alunos on-line ao vivo de outros países estados.
Materiais
Português/Inglês
Conteúdo Programatico
Scala Ramp Up, Introduction to Spark
Objetivo:
- Scala Introduction
- Working with: Variables, Data Types, and Control Flow
- The Scala Interpreter
- Collections and their Standard Methods (e.g. map())
- Working with: Functions, Methods, and Function Literals
- Define the Following as they Relate to Scala: Class, Object, and Case Class
- Overview, Motivations, Spark Systems
- Spark Ecosystem
- Spark vs. Hadoop
- Acquiring and Installing Spark
- The Spark Shell, SparkContext
Labs
- Setting Up the Lab Environment
- Starting the Scala Interpreter
- A First Look at Spark
- A First Look at the Spark Shell
RDDs and Spark Architecture, Spark SQL, DataFrames and DataSets
Objetivo:
- RDD Concepts, Lifecycle, Lazy Evaluation
- RDD Partitioning and Transformations
- Working with RDDs Including: Creating and Transforming
- An Overview of RDDs
- SparkSession, Loading/Saving Data, Data Formats
- Introducing DataFrames and DataSets
- Identify Supported Data Formats
- Working with the DataFrame (untyped) Query DSL
- SQL-based Queries
- Working with the DataSet (typed) API
- Mapping and Splitting
- DataSets vs. DataFrames vs. RDDs
Labs
- RDD Basics
- Operations on Multiple RDDs
- Data Formats
- Spark SQL Basics
- DataFrame Transformations
- The DataSet Typed API
- Splitting Up Data
Shuffling, Transformations and Performance, Performance Tuning
Objetivo:
- Working with: Grouping, Reducing, Joining
- Shuffling, Narrow vs. Wide Dependencies, and Performance Implications
- Exploring the Catalyst Query Optimizer
- The Tungsten Optimizer
- Discuss Caching, Including: Concepts, Storage Type, Guidelines
- Minimizing Shuffling for Increased Performance
- Using Broadcast Variables and Accumulators
- General Performance Guidelines
Labs
- Exploring Group Shuffling
- Seeing Catalyst at Work
- Seeing Tungsten at Work
- Working with Caching, Joins, Shuffles, Broadcasts, Accumulators
- Broadcast General Guidelines
Creating Standalone Applications and Spark Streaming
Objetivo:
- Core API, SparkSession.Builder
- Configuring and Creating a SparkSession
- Building and Running Applications
- Application Lifecycle (Driver, Executors, and Tasks)
- Cluster Managers (Standalone, YARN, Mesos)
- Logging and Debugging
- Introduction and Streaming Basics
- Spark Streaming (Spark 1.0+)
- Structured Streaming (Spark 2+)
- Consuming Kafka Data
Labs
- Spark Job Submission
- Additional Spark Capabilities
- Spark Streaming
- Spark Structured Streaming
- Spark Structured Streaming with Kafka
TENHO INTERESSE