SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
Apache Flink a Quarta
Geração do Big Data
Marcio Junior Vieira
CEO & Data Scientist, Ambiente Livre
Prof. MBA Universidade Positivo
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-3438
Marcio Junior Vieira
Mini-CV
●
18 anos de experiência TI, vivência em desenvolvimento e análise de sistemas de Gestão
empresarial, analise de dados, aprendizado de máquina e BI.
●
Trabalhando com Free Software e Open Source desde 2000 com serviços de consultoria e
treinamento.
●
Graduado em Tecnologia em Informática(2004) e pós-graduado em Software Livre(2005)
ambos pela UFPR.
●
Palestrante em: FISL, TDC, LATINOWARE, Campus Party, Pentaho Day, Ticnova.
●
Organizador geral do Pentaho Day 2015, 2017 e apoio nas ed. 2013 e 2014.
●
Data Scientist na Ambiente Livre,
●
Prof. MBA em Big Data e Data Science, MBA em Business Intelligence e MBA em
Inteligência Articifial da Universidade Positivo.
●
Prof. MBA Inteligência Artificial da FIAP.
●
Data Scientist, Instrutor e consultor de Big Data e Data Science com tecnologias abertas.
●
Ajudou a capacitar equipes de Big Data e Data Science na IBM, Tivit, Accenture, Serpro,
NetShoes, Natura, Ministério Publíco, entre outras.
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-3438
Nosso Ecossistema de Serviços
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-3438
Agenda
① As gerações do Big Data
② O que é o Apache Flink
③ Stack
④ Spark X Flink
⑤ Versões
⑥ Quem utiliza o Apache Flink?
⑦ Live Install e Demo…
⑧ Table API & SQL
⑨ Data Visualization
⑩ Livros e Referências
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-3438
As Gerações do Big Data
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-3438
O que é o Apache Flink ?
Definição
• Apache Flink é uma plataforma open source para para fluxo escalável e
processamento em lote.
• 'Flink': Palavra de origem alemã que significa brilhante, rápido, radiante.
• O núcleo do Flink é um mecanismo de fluxo de dados de streaming distribuído.
• Executa fluxos de dados em paralelo em clusters
• Fornece um back-end confiável para várias cargas de trabalho
• As abstrações de programação DataStream e DataSet são a base para programas
de usuários.
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-3438
Histórico do Apache Flink
timeline
• Abr/2014 Incubado na Fundação Apache
• Abr/2014 promovido a Top Level
• Mar/2015 Lancada a versão 1.0
Comunidade
• Mais de 410 Contribuidores ( em 2016 já eram 150 )
• Quase 4000 Forks
• Quase 4000 Github stars
• Flink Meetup São Paulo – 255 Membros
https://www.meetup.com/pt-BR/Brazil-Sao-Paulo-Apache-Flink-Meetup/ ( temos
que reviver este! último meetup 2016...)
•
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-3438
Apache Flink
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-3438
Stack - Apache Flink
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34380
Execução Distribuída
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34381
Job Client / Stream Dataflow
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34382
Parallel Streaming Dataflow
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34383
Aplicações - Data Analytics
Stream ou Batch?
• O Apache Flink suporta streaming, bem como aplicativos analíticos em lote
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34384
Aplicações - Data Pipeline
Extract-transform-load (ETL)
• ETL periódicos X pipelines de dados contínuos.
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34385
Seus Diferenciais...
Filosofia do Flink
• É o que existe de mais moderno em computação distribuída e engines do
ecossistema Hadoop.
• É a próxima geração para Big Data Analytics framework e não apenas uma
alternativa para Hadoop MapReduce, mas também uma alternativa ao Apache
Storm e Spark.
• Trás uma visão única e filosofia de framework engine que é verdadeiramente
híbrida (Real-Time Streaming + Batch), distribuída, suporta batch, streaming,
querys relacionais, machine learning e processamento de gráfos.
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34386
Seus Diferenciais em relação ao Spark
Tecnologia
• Implementa o processamento de fluxo real: quando você processa um fluxo no Spark,
ele o trata como muitos problemas de pequenos batchs, tornando o processamento de
fluxo um caso especial. O Flink trata o processamento em lote como especial e não usa
micro batching.
• Melhor suporte para processamento cíclico e iterativo: Flink fornece algumas
operações adicionais que permitem a implementação de ciclos em seu aplicativo streaming
e algoritmos que precisam executar várias iterações em dados batch.
• Gerenciamento de memória customizada: Flink é um aplicativo Java, mas não depende
inteiramente do JVM garbage. Ele implementa o gerenciador de memória personalizado
que armazena dados para processar em matrizes de bytes. Isso permite reduzir a carga
em um coletor de lixo e aumentar o desempenho.
• Menor latência e maior taxa de transferência: vários testes feitos por terceiros sugerem
que o Flink tem menor latência e maior rendimento do que seus concorrentes
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34387
Seus Diferenciais em relação ao Spark
Tecnologia
• Operadores poderosos de janelas: quando você precisa processar um fluxo de dados na
maioria dos casos, é necessário aplicar uma função a um grupo finito de elementos em um
fluxo. Embora o Spark ofereça suporte a alguns desses casos de uso, o Flink fornece um
conjunto de operadores muito mais poderoso para o processamento de fluxo.
• Implementa snapshots leves e distribuídos: Isso permite que o Apache Flink forneça
baixo custo adicional e o processamento de apenas uma vez garante o processamento de
fluxo, sem usar micro batching como o Spark faz.
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34388
Versão
Estável 1.5.1
• Apache Flink 1.5.1 - Lançado em 12 de Jul 2018
• Apache Flink 1.4.2 - Lançado em 12 de Mar 2018
• Apache Flink 1.4.0 - Lançado em 12 de Dez 2017
• Aproximadamente uma versão a cada 3 meses
• A versão 1.5.1 tem pacote de instalação com Hadoop 2.8 e Scala 2.11
• Pode ser instalado independente também.
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34389
Quem utiliza o Apache Flink ?
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34380
WordCount Flink em Scala - Stream
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34381
WordCount Flink em Java - Stream
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34382
Instalando Apache Flink em 2 minutos...
Requisitos
• Java 1.8
• Realize o download de http://flink.apache.org/
cd ~/Downloads
tar xzf flink-*.tgz
cd flink-1.5.0
./bin/start-cluster.sh
acesse: http://localhost:8081
•
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34383
Rodando um exemplo no Flink em 2 minutos...
Problema
• Ler um texto via socket, a cada 5 segundos, imprimir o número de ocorrências de
cada palavra (wordcount) distinta durante os 5 segundos anteriores, uma janela
rolante de tempo de processamento, contanto que as palavras estejam flutuando.
• Executando Socket: nc -l 9000
• Executando Flink:
./bin/flink run examples/streaming/SocketWindowWordCount.jar --port 9000
$ nc -l 9000
lorem ipsum
ipsum ipsum ipsum
Bye
• tail -f log/flink-*-taskexecutor-*.out
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34384
Apache Flink - Cluster
Configs.
• /path/to/flink/conf/flink-conf.yaml
jobmanager.rpc.address: 10.0.0.1
• path/to/flink/conf/slaves
10.0.0.2
10.0.0.3
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34385
Data Source ou Custom Stream
Arquivos do HDFS ou filesystem ou Custom Data Source.
• readTextFile(path)
• readFile(fileInputFormat, path)
• addSource(new FlinkKafkaConsumer08<>(…))
- Kafka
-Cassandra
- Hadoop HDFS
- Apache NiFi
- Twitter Streaming API
- Amazon Kinesis Stream
- RabbitMQ
• Conectores:
https://ci.apache.org/projects/flink/flink-docs-release-1.5/dev/connectors/
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34386
DataStream Transformations
Transformation
• Map - dataStream.map { x => x * 2 }
• FlatMap - dataStream.flatMap { str => str.split(" ") }
• Filter - dataStream.filter { _ != 0 }
• KeyBy - dataStream.keyBy("someKey") // Key by field "someKey"
dataStream.keyBy(0) // Key by the first element of a Tuple
• Reduce - keyedStream.reduce { _ + _ }
• Fold - val result: DataStream[String] =
keyedStream.fold("start")((str, i) => { str + "-" + i })
• Aggregations - keyedStream.sum(0)
keyedStream.sum("key")
keyedStream.min(0)
keyedStream.min("key")
keyedStream.max(0)
keyedStream.max("key")
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34387
Data Sinks
Arquivos do HDFS ou filesystem ou Custom Data Source.
• Data sinks consomem os DataStreams e os encaminham para arquivos, soquetes,
sistemas externos ou imprimem esses dados.
• O Flink vem com uma variedade de formatos de saída incorporados que são
encapsulados por trás das operações no DataStreams:
- writeAsText() / TextOutputFormat
- writeAsCsv(...) / CsvOutputFormat
- print() / printToErr()
- writeUsingOutputFormat() / FileOutputFormat
- writeToSocket (SerializationSchema)
- addSink
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34388
Table API & SQL
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34389
Table API & SQL
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34380
Window - Table API
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34381
Window - SQL
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34382
Arquitetura - Table & SQL API
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34383
SQL Client
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34384
Data Visualization
Dashboards em Tempo Real
• Apache Flink, Elasticsearch e Kibana
https://www.elastic.co/blog/building-real-time-dashboard-applications-with-apache-flink-elasticsearch-and-kibana
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34385
Data Visualization
https://www.elastic.co/blog/building-real-time-dashboard-applications-with-apache-flink-elasticsearch-and-kibana
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34386
Onde Aprender Mais...
- Exercicios e Bases para Treinamento http://training.data-artisans.com/
- Documentação Oficial: http://flink.apache.org
© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34387
Referências
●
Flink
http://flink.apache.org/
Obrigado
Marcio Junior Vieira
marcio@ambientelivre.com.br
@marviojvieira @ambientelivre
https://www.linkedin.com/in/mvieira1/
Slide da Palestra será publicada em:
Linkedin….: https://www.linkedin.com/in/mvieira1/
SlideShare: http://slideshare.net/ambientelivre/
Blog……...: http://blogs.ambientelivre.com.br/marcio/

Mais conteúdo relacionado

Semelhante a TDC2018SP | Trilha BigData - Apache Flink a Quarta Geracao do Big Data

Apache PHP MySQL
Apache  PHP  MySQLApache  PHP  MySQL
Apache PHP MySQL
kisb1337
 

Semelhante a TDC2018SP | Trilha BigData - Apache Flink a Quarta Geracao do Big Data (20)

Stream Processing - ThoughtWorks Architecture Group - 2017
Stream Processing - ThoughtWorks Architecture Group - 2017Stream Processing - ThoughtWorks Architecture Group - 2017
Stream Processing - ThoughtWorks Architecture Group - 2017
 
Congresso iv
Congresso ivCongresso iv
Congresso iv
 
Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...
Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...
Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...
 
Processamento em Big Data
Processamento em Big DataProcessamento em Big Data
Processamento em Big Data
 
Pipeline da Engenharia de Dados
Pipeline da Engenharia de DadosPipeline da Engenharia de Dados
Pipeline da Engenharia de Dados
 
Apache PHP MySQL
Apache  PHP  MySQLApache  PHP  MySQL
Apache PHP MySQL
 
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
 
SQL Server 2017 para Desenvolvedores de Software - SQL Saturday 715
SQL Server 2017 para Desenvolvedores de Software - SQL Saturday 715SQL Server 2017 para Desenvolvedores de Software - SQL Saturday 715
SQL Server 2017 para Desenvolvedores de Software - SQL Saturday 715
 
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018 O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
 
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
 
Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013
 
Big data e globo.com - Uma visão sobre a cultura de dados
Big data e globo.com - Uma visão sobre a cultura de dadosBig data e globo.com - Uma visão sobre a cultura de dados
Big data e globo.com - Uma visão sobre a cultura de dados
 
Certificação LPI: qual sua importância no mercado de trabalho?
Certificação LPI: qual sua importância no mercado de trabalho?Certificação LPI: qual sua importância no mercado de trabalho?
Certificação LPI: qual sua importância no mercado de trabalho?
 
Serviços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e JavaServiços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e Java
 
Netflix oss
Netflix ossNetflix oss
Netflix oss
 
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
 
Seminário: PHP
Seminário: PHPSeminário: PHP
Seminário: PHP
 
Ampliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonAmpliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do Python
 
PHP 5.3 - Introdução
PHP 5.3 - IntroduçãoPHP 5.3 - Introdução
PHP 5.3 - Introdução
 
WordCamp SP 2019 - PeachPie unindo Php com C# .Net Core
WordCamp SP 2019 - PeachPie unindo Php com C# .Net CoreWordCamp SP 2019 - PeachPie unindo Php com C# .Net Core
WordCamp SP 2019 - PeachPie unindo Php com C# .Net Core
 

Mais de tdc-globalcode

Mais de tdc-globalcode (20)

TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadeTDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
 
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
 
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de SucessoTDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
 
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPATDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
 
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinoTDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
 
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
 
TDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devicesTDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devices
 
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca PublicaTrilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
 
Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#
 
TDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case EasylocusTDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case Easylocus
 
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
 
TDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em GolangTDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em Golang
 
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QATDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
 
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciaTDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
 
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR ServiceTDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
 
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETTDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
 
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
 
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
 
TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#
 
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net CoreTDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
 

Último

PPP6_ciencias final 6 ano ano de 23/24 final
PPP6_ciencias final 6 ano ano de 23/24 finalPPP6_ciencias final 6 ano ano de 23/24 final
PPP6_ciencias final 6 ano ano de 23/24 final
carlaOliveira438
 

Último (20)

Respostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdf
Respostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdfRespostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdf
Respostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdf
 
Exercícios de Clima no brasil e no mundo.pdf
Exercícios de Clima no brasil e no mundo.pdfExercícios de Clima no brasil e no mundo.pdf
Exercícios de Clima no brasil e no mundo.pdf
 
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...
 
livro para educação infantil conceitos sensorial
livro para educação infantil conceitos sensoriallivro para educação infantil conceitos sensorial
livro para educação infantil conceitos sensorial
 
Geometria para 6 ano retas angulos .docx
Geometria para 6 ano retas angulos .docxGeometria para 6 ano retas angulos .docx
Geometria para 6 ano retas angulos .docx
 
Aula 5 - Fluxo de matéria e energia nos ecossistemas.ppt
Aula 5 - Fluxo de matéria e energia nos ecossistemas.pptAula 5 - Fluxo de matéria e energia nos ecossistemas.ppt
Aula 5 - Fluxo de matéria e energia nos ecossistemas.ppt
 
prova do exame nacional Port. 2008 - 2ª fase - Criterios.pdf
prova do exame nacional Port. 2008 - 2ª fase - Criterios.pdfprova do exame nacional Port. 2008 - 2ª fase - Criterios.pdf
prova do exame nacional Port. 2008 - 2ª fase - Criterios.pdf
 
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...
 
PPP6_ciencias final 6 ano ano de 23/24 final
PPP6_ciencias final 6 ano ano de 23/24 finalPPP6_ciencias final 6 ano ano de 23/24 final
PPP6_ciencias final 6 ano ano de 23/24 final
 
O que é, de facto, a Educação de Infância
O que é, de facto, a Educação de InfânciaO que é, de facto, a Educação de Infância
O que é, de facto, a Educação de Infância
 
Nós Propomos! Sertã 2024 - Geografia C - 12º ano
Nós Propomos! Sertã 2024 - Geografia C - 12º anoNós Propomos! Sertã 2024 - Geografia C - 12º ano
Nós Propomos! Sertã 2024 - Geografia C - 12º ano
 
Livro infantil: A onda da raiva. pdf-crianças
Livro infantil: A onda da raiva. pdf-criançasLivro infantil: A onda da raiva. pdf-crianças
Livro infantil: A onda da raiva. pdf-crianças
 
Enunciado_da_Avaliacao_1__Sociedade_Cultura_e_Contemporaneidade_(ED70200).pdf
Enunciado_da_Avaliacao_1__Sociedade_Cultura_e_Contemporaneidade_(ED70200).pdfEnunciado_da_Avaliacao_1__Sociedade_Cultura_e_Contemporaneidade_(ED70200).pdf
Enunciado_da_Avaliacao_1__Sociedade_Cultura_e_Contemporaneidade_(ED70200).pdf
 
Planejamento 2024 - 1º ano - Matemática 38 a 62.pdf
Planejamento 2024 - 1º ano - Matemática  38 a 62.pdfPlanejamento 2024 - 1º ano - Matemática  38 a 62.pdf
Planejamento 2024 - 1º ano - Matemática 38 a 62.pdf
 
04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf
04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf
04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf
 
Nós Propomos! Canil/Gatil na Sertã - Amigos dos Animais
Nós Propomos! Canil/Gatil na Sertã - Amigos dos AnimaisNós Propomos! Canil/Gatil na Sertã - Amigos dos Animais
Nós Propomos! Canil/Gatil na Sertã - Amigos dos Animais
 
ufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdf
ufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdfufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdf
ufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdf
 
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptxSlides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
 
Multiplicação - Caça-número
Multiplicação - Caça-número Multiplicação - Caça-número
Multiplicação - Caça-número
 
APH- Avaliação de cena , analise geral do ambiente e paciente.
APH- Avaliação de cena , analise geral do ambiente e paciente.APH- Avaliação de cena , analise geral do ambiente e paciente.
APH- Avaliação de cena , analise geral do ambiente e paciente.
 

TDC2018SP | Trilha BigData - Apache Flink a Quarta Geracao do Big Data

  • 1. Apache Flink a Quarta Geração do Big Data Marcio Junior Vieira CEO & Data Scientist, Ambiente Livre Prof. MBA Universidade Positivo
  • 2. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-3438 Marcio Junior Vieira Mini-CV ● 18 anos de experiência TI, vivência em desenvolvimento e análise de sistemas de Gestão empresarial, analise de dados, aprendizado de máquina e BI. ● Trabalhando com Free Software e Open Source desde 2000 com serviços de consultoria e treinamento. ● Graduado em Tecnologia em Informática(2004) e pós-graduado em Software Livre(2005) ambos pela UFPR. ● Palestrante em: FISL, TDC, LATINOWARE, Campus Party, Pentaho Day, Ticnova. ● Organizador geral do Pentaho Day 2015, 2017 e apoio nas ed. 2013 e 2014. ● Data Scientist na Ambiente Livre, ● Prof. MBA em Big Data e Data Science, MBA em Business Intelligence e MBA em Inteligência Articifial da Universidade Positivo. ● Prof. MBA Inteligência Artificial da FIAP. ● Data Scientist, Instrutor e consultor de Big Data e Data Science com tecnologias abertas. ● Ajudou a capacitar equipes de Big Data e Data Science na IBM, Tivit, Accenture, Serpro, NetShoes, Natura, Ministério Publíco, entre outras.
  • 3. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-3438 Nosso Ecossistema de Serviços
  • 4. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-3438 Agenda ① As gerações do Big Data ② O que é o Apache Flink ③ Stack ④ Spark X Flink ⑤ Versões ⑥ Quem utiliza o Apache Flink? ⑦ Live Install e Demo… ⑧ Table API & SQL ⑨ Data Visualization ⑩ Livros e Referências
  • 5. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-3438 As Gerações do Big Data
  • 6. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-3438 O que é o Apache Flink ? Definição • Apache Flink é uma plataforma open source para para fluxo escalável e processamento em lote. • 'Flink': Palavra de origem alemã que significa brilhante, rápido, radiante. • O núcleo do Flink é um mecanismo de fluxo de dados de streaming distribuído. • Executa fluxos de dados em paralelo em clusters • Fornece um back-end confiável para várias cargas de trabalho • As abstrações de programação DataStream e DataSet são a base para programas de usuários.
  • 7. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-3438 Histórico do Apache Flink timeline • Abr/2014 Incubado na Fundação Apache • Abr/2014 promovido a Top Level • Mar/2015 Lancada a versão 1.0 Comunidade • Mais de 410 Contribuidores ( em 2016 já eram 150 ) • Quase 4000 Forks • Quase 4000 Github stars • Flink Meetup São Paulo – 255 Membros https://www.meetup.com/pt-BR/Brazil-Sao-Paulo-Apache-Flink-Meetup/ ( temos que reviver este! último meetup 2016...) •
  • 8. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-3438 Apache Flink
  • 9. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-3438 Stack - Apache Flink
  • 10. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34380 Execução Distribuída
  • 11. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34381 Job Client / Stream Dataflow
  • 12. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34382 Parallel Streaming Dataflow
  • 13. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34383 Aplicações - Data Analytics Stream ou Batch? • O Apache Flink suporta streaming, bem como aplicativos analíticos em lote
  • 14. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34384 Aplicações - Data Pipeline Extract-transform-load (ETL) • ETL periódicos X pipelines de dados contínuos.
  • 15. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34385 Seus Diferenciais... Filosofia do Flink • É o que existe de mais moderno em computação distribuída e engines do ecossistema Hadoop. • É a próxima geração para Big Data Analytics framework e não apenas uma alternativa para Hadoop MapReduce, mas também uma alternativa ao Apache Storm e Spark. • Trás uma visão única e filosofia de framework engine que é verdadeiramente híbrida (Real-Time Streaming + Batch), distribuída, suporta batch, streaming, querys relacionais, machine learning e processamento de gráfos.
  • 16. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34386 Seus Diferenciais em relação ao Spark Tecnologia • Implementa o processamento de fluxo real: quando você processa um fluxo no Spark, ele o trata como muitos problemas de pequenos batchs, tornando o processamento de fluxo um caso especial. O Flink trata o processamento em lote como especial e não usa micro batching. • Melhor suporte para processamento cíclico e iterativo: Flink fornece algumas operações adicionais que permitem a implementação de ciclos em seu aplicativo streaming e algoritmos que precisam executar várias iterações em dados batch. • Gerenciamento de memória customizada: Flink é um aplicativo Java, mas não depende inteiramente do JVM garbage. Ele implementa o gerenciador de memória personalizado que armazena dados para processar em matrizes de bytes. Isso permite reduzir a carga em um coletor de lixo e aumentar o desempenho. • Menor latência e maior taxa de transferência: vários testes feitos por terceiros sugerem que o Flink tem menor latência e maior rendimento do que seus concorrentes
  • 17. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34387 Seus Diferenciais em relação ao Spark Tecnologia • Operadores poderosos de janelas: quando você precisa processar um fluxo de dados na maioria dos casos, é necessário aplicar uma função a um grupo finito de elementos em um fluxo. Embora o Spark ofereça suporte a alguns desses casos de uso, o Flink fornece um conjunto de operadores muito mais poderoso para o processamento de fluxo. • Implementa snapshots leves e distribuídos: Isso permite que o Apache Flink forneça baixo custo adicional e o processamento de apenas uma vez garante o processamento de fluxo, sem usar micro batching como o Spark faz.
  • 18. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34388 Versão Estável 1.5.1 • Apache Flink 1.5.1 - Lançado em 12 de Jul 2018 • Apache Flink 1.4.2 - Lançado em 12 de Mar 2018 • Apache Flink 1.4.0 - Lançado em 12 de Dez 2017 • Aproximadamente uma versão a cada 3 meses • A versão 1.5.1 tem pacote de instalação com Hadoop 2.8 e Scala 2.11 • Pode ser instalado independente também.
  • 19. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34389 Quem utiliza o Apache Flink ?
  • 20. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34380 WordCount Flink em Scala - Stream
  • 21. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34381 WordCount Flink em Java - Stream
  • 22. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34382 Instalando Apache Flink em 2 minutos... Requisitos • Java 1.8 • Realize o download de http://flink.apache.org/ cd ~/Downloads tar xzf flink-*.tgz cd flink-1.5.0 ./bin/start-cluster.sh acesse: http://localhost:8081 •
  • 23. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34383 Rodando um exemplo no Flink em 2 minutos... Problema • Ler um texto via socket, a cada 5 segundos, imprimir o número de ocorrências de cada palavra (wordcount) distinta durante os 5 segundos anteriores, uma janela rolante de tempo de processamento, contanto que as palavras estejam flutuando. • Executando Socket: nc -l 9000 • Executando Flink: ./bin/flink run examples/streaming/SocketWindowWordCount.jar --port 9000 $ nc -l 9000 lorem ipsum ipsum ipsum ipsum Bye • tail -f log/flink-*-taskexecutor-*.out
  • 24. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34384 Apache Flink - Cluster Configs. • /path/to/flink/conf/flink-conf.yaml jobmanager.rpc.address: 10.0.0.1 • path/to/flink/conf/slaves 10.0.0.2 10.0.0.3
  • 25. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34385 Data Source ou Custom Stream Arquivos do HDFS ou filesystem ou Custom Data Source. • readTextFile(path) • readFile(fileInputFormat, path) • addSource(new FlinkKafkaConsumer08<>(…)) - Kafka -Cassandra - Hadoop HDFS - Apache NiFi - Twitter Streaming API - Amazon Kinesis Stream - RabbitMQ • Conectores: https://ci.apache.org/projects/flink/flink-docs-release-1.5/dev/connectors/
  • 26. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34386 DataStream Transformations Transformation • Map - dataStream.map { x => x * 2 } • FlatMap - dataStream.flatMap { str => str.split(" ") } • Filter - dataStream.filter { _ != 0 } • KeyBy - dataStream.keyBy("someKey") // Key by field "someKey" dataStream.keyBy(0) // Key by the first element of a Tuple • Reduce - keyedStream.reduce { _ + _ } • Fold - val result: DataStream[String] = keyedStream.fold("start")((str, i) => { str + "-" + i }) • Aggregations - keyedStream.sum(0) keyedStream.sum("key") keyedStream.min(0) keyedStream.min("key") keyedStream.max(0) keyedStream.max("key")
  • 27. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34387 Data Sinks Arquivos do HDFS ou filesystem ou Custom Data Source. • Data sinks consomem os DataStreams e os encaminham para arquivos, soquetes, sistemas externos ou imprimem esses dados. • O Flink vem com uma variedade de formatos de saída incorporados que são encapsulados por trás das operações no DataStreams: - writeAsText() / TextOutputFormat - writeAsCsv(...) / CsvOutputFormat - print() / printToErr() - writeUsingOutputFormat() / FileOutputFormat - writeToSocket (SerializationSchema) - addSink
  • 28. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34388 Table API & SQL
  • 29. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34389 Table API & SQL
  • 30. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34380 Window - Table API
  • 31. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34381 Window - SQL
  • 32. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34382 Arquitetura - Table & SQL API
  • 33. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34383 SQL Client
  • 34. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34384 Data Visualization Dashboards em Tempo Real • Apache Flink, Elasticsearch e Kibana https://www.elastic.co/blog/building-real-time-dashboard-applications-with-apache-flink-elasticsearch-and-kibana
  • 35. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34385 Data Visualization https://www.elastic.co/blog/building-real-time-dashboard-applications-with-apache-flink-elasticsearch-and-kibana
  • 36. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34386 Onde Aprender Mais... - Exercicios e Bases para Treinamento http://training.data-artisans.com/ - Documentação Oficial: http://flink.apache.org
  • 37. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34387 Referências ● Flink http://flink.apache.org/
  • 38. Obrigado Marcio Junior Vieira marcio@ambientelivre.com.br @marviojvieira @ambientelivre https://www.linkedin.com/in/mvieira1/ Slide da Palestra será publicada em: Linkedin….: https://www.linkedin.com/in/mvieira1/ SlideShare: http://slideshare.net/ambientelivre/ Blog……...: http://blogs.ambientelivre.com.br/marcio/