SlideShare uma empresa Scribd logo
1 de 19
USANDO .NET NO
APACHE SPARK
FABIO GOUW
FABIO GOUW
@fabiogouw
fabiogouw
fabiogouw.com
Arquiteto de Soluções @ Itaú
AGENDA
1. O que é o Apache Spark?
2. História e Motivadores
3. Casos de uso do Spark
4. Arquitetura
5. .NET for Apache Spark
6. Demo – Batch
7. Demo – Streaming
É um motor de análise para processamento
distribuído de dados em larga escala.
O QUE É O APACHE SPARK?
BIG DATA
HISTÓRIA E MOTIVADORES
2003
Google’s
Distributed
Filesystem
2004
MapReduce
2005
Nutch
Distributed
Filesystem
+ MapReduce
2009
Matei Zaharia
2002
Doug Cutting Mike Cafarella
2006
HDFS
+ MapReduce
HADOOP VS. SPARK
• Spark processa até 100 vezes mais rápido
que o Hadoop
• Spark possui processamento em tempo
real e batch, enquanto Hadoop processa
apenas em batch
• API do Spark é mais concisa
CÓDIGO HADOOP VS. SPARK
HADOOP VS. SPARK
CASOS DE USO DO SPARK
MACHINE LEARNING
EXECUÇÃO
INTERATIVA
PROCESSAMENTO EM
TEMPO REAL
INGESTÃO DE DADOS
CASOS DE USO DO SPARK
ARQUITETURA
Spark Core
MLLib Spark GraphX
Spark
Streaming
Streaming
Sources
Spark SQLData Sources
Cluster Management
Scala RJava Python
Node
Cluster Manager
ARQUITETURA
Driver Program
Spark Context
Node
Executor
Cache
Node
Executor
Cache
Task
Task
Task
Task
User Program
P1 P2Data
.NET FOR APACHE SPARK
.NET FOR APACHE SPARK
Motivação: Fornecer aos desenvolvedores .NET uma opção de primeira
classe para trabalhar com Apache Spark e Big Data
Não é objetivo converter programadores Scala, Python, Java ou R para
usarem .NET
.NET for Apache® Spark™ - projeto Open Source lançado em 2019 (Spark +
AI Summit 2019)
Suporte para C# e F# para .NET Framework 4.6.1 e .NET Core 2.1 e 3.x
Abstração em cima da API do Spark SQL (DataFrame)
Spark Core
Spark Interop Layer
SparkR PySpark
Spark SQL
.NET FOR APACHE SPARK
.NET for
Apache Spark
Java / Scala API
DEMO - BATCH
DEMO - STREAMING
Producer
• http://bit.ly/SparkNetDemo
• https://spark.apache.org/
• https://dot.net/spark
• http://dot.net/ml
• https://github.com/dotnet/spark
@fabiogouw
fabiogouw
fabiogouw.com
PARA SABER MAIS

Mais conteúdo relacionado

Semelhante a Spark .net

João Marcos Araújo do Valle - Big Data
João Marcos Araújo do Valle - Big DataJoão Marcos Araújo do Valle - Big Data
João Marcos Araújo do Valle - Big DataPotiLivre Sobrenome
 
Instanciando a Arquitetura Lambda com GraphX e Elasticsearch 2.0 em uma apl...
Instanciando a Arquitetura Lambda com  GraphX e Elasticsearch 2.0  em uma apl...Instanciando a Arquitetura Lambda com  GraphX e Elasticsearch 2.0  em uma apl...
Instanciando a Arquitetura Lambda com GraphX e Elasticsearch 2.0 em uma apl...Luiz Henrique Zambom Santana
 
Interoperabilidade com BigData Hadoop para Windows Azure
Interoperabilidade com BigData Hadoop  para Windows AzureInteroperabilidade com BigData Hadoop  para Windows Azure
Interoperabilidade com BigData Hadoop para Windows AzureAlessandro Binhara
 
Apresentação Apache Tajo
Apresentação Apache TajoApresentação Apache Tajo
Apresentação Apache TajoMichel Michel
 
Instalando arquitetura Lambda com Graphx e Elasticsearch 2.0 em uma aplicação...
Instalando arquitetura Lambda com Graphx e Elasticsearch 2.0 em uma aplicação...Instalando arquitetura Lambda com Graphx e Elasticsearch 2.0 em uma aplicação...
Instalando arquitetura Lambda com Graphx e Elasticsearch 2.0 em uma aplicação...tdc-globalcode
 
Filesystem distribuído com hadoop!!!
Filesystem distribuído com hadoop!!! Filesystem distribuído com hadoop!!!
Filesystem distribuído com hadoop!!! Alessandro Binhara
 
Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Getup Cloud
 
Hadoop - Mãos à massa! Qcon2014
Hadoop - Mãos à massa! Qcon2014Hadoop - Mãos à massa! Qcon2014
Hadoop - Mãos à massa! Qcon2014Thiago Santiago
 
PHP Conference 2014: Uma string em dez milhões de documentos em menos de um s...
PHP Conference 2014: Uma string em dez milhões de documentos em menos de um s...PHP Conference 2014: Uma string em dez milhões de documentos em menos de um s...
PHP Conference 2014: Uma string em dez milhões de documentos em menos de um s...Aryel Tupinambá
 
Bigdata - compreendendo Hadoop e seu ecossistema.
Bigdata - compreendendo Hadoop e seu ecossistema. Bigdata - compreendendo Hadoop e seu ecossistema.
Bigdata - compreendendo Hadoop e seu ecossistema. Natalia Raythz
 
Cientista de Dados – Dominando o Big Data com Software Livre
Cientista de Dados – Dominando o Big Data com Software Livre Cientista de Dados – Dominando o Big Data com Software Livre
Cientista de Dados – Dominando o Big Data com Software Livre Ambiente Livre
 
Facebook Developer Circles SP - Redes neurais convolucionais com PyTorch
Facebook Developer Circles SP - Redes neurais convolucionais com PyTorchFacebook Developer Circles SP - Redes neurais convolucionais com PyTorch
Facebook Developer Circles SP - Redes neurais convolucionais com PyTorchFulvio Mascara
 
Cache, Concorrência e Sincronização.
Cache, Concorrência e Sincronização.Cache, Concorrência e Sincronização.
Cache, Concorrência e Sincronização.Thiago Rondon
 
A importância do ecossistema Java em aplicações baseadas em Big Data
A importância do ecossistema Java em aplicações baseadas em Big DataA importância do ecossistema Java em aplicações baseadas em Big Data
A importância do ecossistema Java em aplicações baseadas em Big DataVinícius Barros
 
Alta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHPAlta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHPMySQL Brasil
 

Semelhante a Spark .net (20)

João Marcos Araújo do Valle - Big Data
João Marcos Araújo do Valle - Big DataJoão Marcos Araújo do Valle - Big Data
João Marcos Araújo do Valle - Big Data
 
Instanciando a Arquitetura Lambda com GraphX e Elasticsearch 2.0 em uma apl...
Instanciando a Arquitetura Lambda com  GraphX e Elasticsearch 2.0  em uma apl...Instanciando a Arquitetura Lambda com  GraphX e Elasticsearch 2.0  em uma apl...
Instanciando a Arquitetura Lambda com GraphX e Elasticsearch 2.0 em uma apl...
 
Interoperabilidade com BigData Hadoop para Windows Azure
Interoperabilidade com BigData Hadoop  para Windows AzureInteroperabilidade com BigData Hadoop  para Windows Azure
Interoperabilidade com BigData Hadoop para Windows Azure
 
Apresentação Apache Tajo
Apresentação Apache TajoApresentação Apache Tajo
Apresentação Apache Tajo
 
Treinamento hadoop - dia3
Treinamento hadoop - dia3Treinamento hadoop - dia3
Treinamento hadoop - dia3
 
Instalando arquitetura Lambda com Graphx e Elasticsearch 2.0 em uma aplicação...
Instalando arquitetura Lambda com Graphx e Elasticsearch 2.0 em uma aplicação...Instalando arquitetura Lambda com Graphx e Elasticsearch 2.0 em uma aplicação...
Instalando arquitetura Lambda com Graphx e Elasticsearch 2.0 em uma aplicação...
 
Filesystem distribuído com hadoop!!!
Filesystem distribuído com hadoop!!! Filesystem distribuído com hadoop!!!
Filesystem distribuído com hadoop!!!
 
Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014
 
Hadoop - Mãos à massa! Qcon2014
Hadoop - Mãos à massa! Qcon2014Hadoop - Mãos à massa! Qcon2014
Hadoop - Mãos à massa! Qcon2014
 
PHP Conference 2014: Uma string em dez milhões de documentos em menos de um s...
PHP Conference 2014: Uma string em dez milhões de documentos em menos de um s...PHP Conference 2014: Uma string em dez milhões de documentos em menos de um s...
PHP Conference 2014: Uma string em dez milhões de documentos em menos de um s...
 
BrunoSQLSaturday424
BrunoSQLSaturday424BrunoSQLSaturday424
BrunoSQLSaturday424
 
Bigdata - compreendendo Hadoop e seu ecossistema.
Bigdata - compreendendo Hadoop e seu ecossistema. Bigdata - compreendendo Hadoop e seu ecossistema.
Bigdata - compreendendo Hadoop e seu ecossistema.
 
Cientista de Dados – Dominando o Big Data com Software Livre
Cientista de Dados – Dominando o Big Data com Software Livre Cientista de Dados – Dominando o Big Data com Software Livre
Cientista de Dados – Dominando o Big Data com Software Livre
 
Facebook Developer Circles SP - Redes neurais convolucionais com PyTorch
Facebook Developer Circles SP - Redes neurais convolucionais com PyTorchFacebook Developer Circles SP - Redes neurais convolucionais com PyTorch
Facebook Developer Circles SP - Redes neurais convolucionais com PyTorch
 
Cache, Concorrência e Sincronização.
Cache, Concorrência e Sincronização.Cache, Concorrência e Sincronização.
Cache, Concorrência e Sincronização.
 
A importância do ecossistema Java em aplicações baseadas em Big Data
A importância do ecossistema Java em aplicações baseadas em Big DataA importância do ecossistema Java em aplicações baseadas em Big Data
A importância do ecossistema Java em aplicações baseadas em Big Data
 
Alta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHPAlta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHP
 
Hadoop
HadoopHadoop
Hadoop
 
Relatório IPV6
Relatório IPV6Relatório IPV6
Relatório IPV6
 
Treinamento hadoop - dia4
Treinamento hadoop - dia4Treinamento hadoop - dia4
Treinamento hadoop - dia4
 

Último

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 

Último (8)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 

Spark .net

Notas do Editor

  1. 2009 - UC Berkeley  escalar Machine Learning Conviva  interactive querying para analytics de vídeos http://blog.madhukaraphatak.com/history-of-spark/ https://medium.com/@markobonaci/the-history-of-hadoop-68984a11704 http://www.balasubramanyamlanka.com/history-of-hadoop/
  2. BBVA – classificação das transações dos clientes JP Morgan – análise de fraudes Netflix – recomendação de filmes para os usuários Airbnb - modelo de previsão de demanda