Curso Apache Spark and Scala

  • Big Data

Curso Apache Spark and Scala

24 horas de curso pratico
Visão Geral
  • Domine o Apache Spark usando Scala com técnicas avançadas e comece uma lucrativa carreira de Big Data!
  • Domine os conceitos da estrutura e desenvolvimento do Apache Spark
  • Exercícios aprofundados e projetos em tempo real no Apache Spark
  • Saiba mais sobre o Apache Spark Core, Spark Internals, RDD, Spark SQL, etc.
  • Obtenha conhecimento abrangente da linguagem de programação Scala

Nesta era de inteligência artificial, aprendizado de máquina e ciência de dados, algoritmos executados em computação iterativa distribuída facilitam a tarefa de distribuir e computar grandes volumes de dados. Spark é uma estrutura de computação em cluster na memória extremamente rápida que pode ser usada para uma variedade de finalidades. Esta estrutura de software livre baseada em JVM pode ser usada para processar e analisar grandes volumes de dados e, ao mesmo tempo, pode ser usada para distribuir dados em um cluster de máquinas. Ele é projetado de forma que possa executar processamento em lote e fluxo e, portanto, é conhecido como uma plataforma de computação em cluster. Scala é a linguagem em que o Spark é desenvolvido. Scala é uma linguagem de programação poderosa e dinâmica que não compromete a segurança dos tipos.

Você sabe o segredo por trás do funcionamento perfeito do mapa do Uber? Aqui está uma dica, as imagens coletadas pela equipe de coleta de dados do mapa são acessadas pela equipe de downstream do Apache Spark e são avaliadas pelos operadores responsáveis ​​pelas edições do mapa. Vários formatos de arquivo são suportados pelo Apache Spark, que permite que vários registros sejam armazenados em um único arquivo. 

De acordo com uma pesquisa recente da DataBricks, 71% dos usuários do Spark usam Scala para programação. Spark com Scala é uma combinação perfeita para se manter fundamentado no mundo do Big Data. 9 em cada 10 empresas têm essa combinação bem-sucedida funcionando em suas organizações. O Spark tem mais de 1000 colaboradores em mais de 250 organizações, tornando-o o projeto de código aberto mais popular de todos os tempos. O mercado do Apache Spark deve crescer a um CAGR de 67% entre 2019 e 2022, empurrando uma alta demanda por profissionais treinados.

Objetivo

Publico Alvo
  • Cientistas de Dados
  • Engenheiros de Dados
  • Analistas de Dados
  • Profissionais de BI
  • Profissionais de pesquisa
  • Arquitetos de software
  • Desenvolvedores de software
  • Profissionais de teste
  • Qualquer pessoa que queira atualizar suas habilidades de Big Data
Pre-Requisitos
  • Ter familiaridade com a programação Python / Java ou Scala será benéfico. Além disso, você deve possuir:
  • Conhecimento básico de SQL, qualquer banco de dados e linguagem de consulta para bancos de dados.
  • Não é obrigatório, mas útil para você ter conhecimento prático de Linux ou sistemas baseados em Unix.
  • Além disso, é recomendável ter um treinamento de certificação em Big Data Hadoop Development.
Materiais
Português/Inglês
Conteúdo Programatico

Introduction to Big Data Hadoop and Spark

Learning Objectives: Understand Big Data and its components such as HDFS. You will learn about the Hadoop Cluster Architecture. You will also get an introduction to Spark and the difference between batch processing and real-time processing.

  1. What is Big Data?
  2. Big Data Customer Scenarios
  3. What is Hadoop?
  4. Hadoop’s Key Characteristics
  5. Hadoop Ecosystem and HDFS
  6. Hadoop Core Components
  7. Rack Awareness and Block Replication
  8. YARN and its Advantage
  9. Hadoop Cluster and its Architecture
  10. Hadoop: Different Cluster Modes
  11. Big Data Analytics with Batch & Real-time Processing
  12. Why Spark is needed?
  13. What is Spark?
  14. How Spark differs from other frameworks?
  15. Hands-on: Scala REPL Detailed Demo.

Introduction to Scala

Learning Objectives: Learn the basics of Scala that are required for programming Spark applications. Also learn about the basic constructs of Scala such as variable types, control structures, collections such as Array, ArrayBuffer, Map, Lists, and many more.

  1. What is Scala?
  2. Why Scala for Spark?                  
  3. Scala in other Frameworks                       
  4. Introduction to Scala REPL                        
  5. Basic Scala Operations               
  6. Variable Types in Scala               
  7. Control Structures in Scala                       
  8. Foreach loop, Functions and Procedures                           
  9. Collections in Scala- Array                         
  10. ArrayBuffer, Map, Tuples, Lists, and more        
  11. Hands-on: Scala REPL Detailed Demo

Object Oriented Scala and Functional Programming Concepts

Learning Objectives: Learn about object-oriented programming and functional programming techniques in Scala.

  1. Variables in Scala
  2. Methods, classes, and objects in Scala               
  3. Packages and package objects               
  4. Traits and trait linearization                     
  5. Java Interoperability                   
  6. Introduction to functional programming                            
  7. Functional Scala for the data scientists               
  8. Why functional programming and Scala are important for learning Spark?
  9. Pure functions and higher-order functions                       
  10. Using higher-order functions                  
  11. Error handling in functional Scala                           
  12. Functional programming and data mutability   
  13. Hands-on:  OOPs Concepts- Functional Programming

Collection APIs

Learning Objectives: Learn about the Scala collection APIs, types and hierarchies. Also, learn about performance characteristics.

  1. Scala collection APIs
  2. Types and hierarchies                
  3. Performance characteristics                    
  4. Java interoperability                   
  5. Using Scala implicits

Introduction to Spark

Learning Objectives: Understand Apache Spark and learn how to develop Spark applications.

  1. Introduction to data analytics
  2. Introduction to big data                            
  3. Distributed computing using Apache Hadoop                  
  4. Introducing Apache Spark                        
  5. Apache Spark installation                         
  6. Spark Applications                       
  7. The back bone of Spark – RDD               
  8. Loading Data                  
  9. What is Lambda                            
  10. Using the Spark shell                  
  11. Actions and Transformations                  
  12. Associative Property                  
  13. Implant on Data                            
  14. Persistence                    
  15. Caching                            
  16. Loading and Saving data

Hands-on:

  • Building and Running Spark Applications
  • Spark Application Web UI
  • Configuring Spark Properties

Operations of RDD

Learning Objectives: Get an insight of Spark - RDDs and other RDD related manipulations for implementing business logic (Transformations, Actions, and Functions performed on RDD)

  1. Challenges in Existing Computing Methods
  2. Probable Solution & How RDD Solves the Problem                       
  3. What is RDD, Its Operations, Transformations & Actions                           
  4. Data Loading and Saving Through RDDs              
  5. Key-Value Pair RDDs                   
  6. Other Pair RDDs, Two Pair RDDs                            
  7. RDD Lineage                   
  8. RDD Persistence                           
  9. WordCount Program Using RDD Concepts                        
  10. RDD Partitioning & How It Helps Achieve Parallelization              
  11. Passing Functions to Spark           

Hands-on:

  • Loading data in RDD
  • Saving data through RDDs
  • RDD Transformations
  • RDD Actions and Functions
  • RDD Partitions
  • WordCount through RDDs

DataFrames and Spark SQL

Learning Objectives: Learn about SparkSQL which is used to process structured data with SQL queries, data-frames and datasets in Spark SQL along with different kinds of SQL operations performed on the data-frames. Also, learn about the Spark and Hive integration.

  1. Need for Spark SQL
  2. What is Spark SQL?                      
  3. Spark SQL Architecture              
  4. SQL Context in Spark SQL                         
  5. User Defined Functions                            
  6. Data Frames & Datasets                            
  7. Interoperating with RDDs                         
  8. JSON and Parquet File Formats              
  9. Loading Data through Different Sources                            
  10. Spark – Hive Integration       

Hands-on:

  • Spark SQL – Creating Data Frames
  • Loading and Transforming Data through Different Sources
  • Spark-Hive Integration

Machine learning using MLlib

Learning Objectives: Learn why machine learning is needed, different Machine Learning techniques/algorithms, and SparK MLlib.

  1. Why Machine Learning?
  2. What is Machine Learning?                      
  3. Where Machine Learning is Used?                       
  4. Different Types of Machine Learning Techniques                          
  5. Introduction to MLlib                 
  6. Features of MLlib and MLlib Tools                        
  7. Various ML algorithms supported by MLlib                       
  8. Optimization Techniques

Using Spark MLlib

Learning Objectives: Implement various algorithms supported by MLlib such as Linear Regression, Decision Tree, Random Forest and so on

  1. Supervised Learning - Linear Regression, Logistic Regression, Decision Tree, Random Forest
  2. Unsupervised Learning - K-Means Clustering

Hands-on:

  • Machine Learning MLlib
  • K- Means Clustering
  • Linear Regression
  • Logistic Regression
  • Decision Tree
  • Random Forest

Streaming with Kafka and Flume

Objectives: Understand Kafka and its Architecture. Also, learn about Kafka Cluster, how to configure different types of Kafka Clusters. Get introduced to Apache Flume, its architecture and how it is integrated with Apache Kafka for event processing. At the end, learn how to ingest streaming data using flume.

  1. Need for Kafka
  2. What is Kafka?              
  3. Core Concepts of Kafka             
  4. Kafka Architecture                      
  5. Where is Kafka Used?                
  6. Understanding the Components of Kafka Cluster                         
  7. Configuring Kafka Cluster                         
  8. Kafka Producer and Consumer Java API             
  9. Need of Apache Flume             
  10. What is Apache Flume?             
  11. Basic Flume Architecture                          
  12. Flume Sources              
  13. Flume Sinks                    
  14. Flume Channels                            
  15. Flume Configuration                   
  16. Integrating Apache Flume and Apache Kafka

Hands-on:    

  • Configuring Single Node Single Broker Cluster
  • Configuring Single Node Multi Broker Cluster
  • Producing and consuming messages
  • Flume Commands
  • Setting up Flume Agent

Apache Spark Streaming

Objectives: Learn about the different streaming data sources such as Kafka and Flume. Also, learn to create a Spark streaming application.

  1. Apache Spark Streaming: Data Sources
  2. Streaming Data Source Overview                         
  3. Apache Flume and Apache Kafka Data Sources     

Hands-on:

  • Perform Twitter Sentimental Analysis Using Spark Streaming

Spark GraphX Programming

Objectives: Learn the key concepts of Spark GraphX programming and operations along with different GraphX algorithms and their implementations.

  1. A brief introduction to graph theory
  2. GraphX             
  3. VertexRDD and EdgeRDD                         
  4. Graph operators                          
  5. Pregel API                       
  6. PageRank
TENHO INTERESSE

Cursos Relacionados

Curso Data Lake Inteligente Fundamentos para Analistas

16 horas

Curso BigQuery Google Foudation

16 horas

Curso Bamboo Integração contínua

24 Horas

Curso Python 6 Projetos Python com Programacao Foundation to Advanced

60 horas