SlideShare uma empresa Scribd logo
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

PDF
ppt M3 Laplace Transform.pdf
PDF
Matlab OOP
PDF
Robotics and ROS
PDF
Stream Processing - ThoughtWorks Architecture Group - 2017
PDF
Pipeline da Engenharia de Dados
PDF
[DEVFEST] Apache Spark Casos de Uso e Escalabilidade
PDF
Apache Spark: Casos de uso e escalabilidade
PDF
AEL - Adaptive Execution Layer on Spark Cluster with Pentaho Data Integration
ppt M3 Laplace Transform.pdf
Matlab OOP
Robotics and ROS
Stream Processing - ThoughtWorks Architecture Group - 2017
Pipeline da Engenharia de Dados
[DEVFEST] Apache Spark Casos de Uso e Escalabilidade
Apache Spark: Casos de uso e escalabilidade
AEL - Adaptive Execution Layer on Spark Cluster with Pentaho Data Integration

Semelhante a Apache Flink a Quarta Geração do Big Data (20)

PDF
Análise e Caracterização das Novas Ferramentas para Computação em Nuvem
PDF
Data Lakes com Hadoop e Spark: Agile Analytics na prática
PDF
Qcon Rio 2015 - Data Lakes Workshop
PDF
Orquestrando HBase, Cassandra e MongoDB com o Pentaho Big Data Analytics.
PPTX
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
PDF
Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...
PDF
FISL18 - Open Data Science - Elaborando uma plataforma de Big Data & Analytic...
ODP
Rodando um Recomendador no Hadoop usando Mahout
PDF
Processamento em Big Data
PDF
Vtex - Splunk live! 2014 São Paulo
PDF
VTEX @ Splunk Live! São Paulo
PDF
Pentaho Hadoop Big Data e Data Lakes
PDF
Stream Processing: Uma visão geral - TDC Porto Alegre / FISL 17
PDF
Tecnologias para mineração de dados nas nuvens
PPTX
Hadoop - primeiros passos
PDF
Modelos de computação distribuída no Hadoop
PDF
Cientista de Dados – Dominando o Big Data com Software Livre
PDF
Big Data Open Source com Hadoop
PDF
Processamento de Eventos Complexos com Spark
Análise e Caracterização das Novas Ferramentas para Computação em Nuvem
Data Lakes com Hadoop e Spark: Agile Analytics na prática
Qcon Rio 2015 - Data Lakes Workshop
Orquestrando HBase, Cassandra e MongoDB com o Pentaho Big Data Analytics.
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...
FISL18 - Open Data Science - Elaborando uma plataforma de Big Data & Analytic...
Rodando um Recomendador no Hadoop usando Mahout
Processamento em Big Data
Vtex - Splunk live! 2014 São Paulo
VTEX @ Splunk Live! São Paulo
Pentaho Hadoop Big Data e Data Lakes
Stream Processing: Uma visão geral - TDC Porto Alegre / FISL 17
Tecnologias para mineração de dados nas nuvens
Hadoop - primeiros passos
Modelos de computação distribuída no Hadoop
Cientista de Dados – Dominando o Big Data com Software Livre
Big Data Open Source com Hadoop
Processamento de Eventos Complexos com Spark
Anúncio

Mais de Ambiente Livre (20)

PDF
O Potencial Competitivo da Ciencia de Dados e da Inteligencia Artificial nas ...
PDF
Metodologia Hacker de Ensino na Ambiente Livre
PDF
Integrando o Drupal com o ECM Alfresco usando CMIS
PDF
Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...
PDF
TDC2017 - Misturando dados com Pentaho para insights mais significativos
PDF
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
PDF
Pentaho, Hadoop , Big Data e Data Lakes
PDF
PostgreSQL em projetos de Business Analytics e Big Data Analytics com Pentaho
PDF
Big Data Analytics - Do MapReduce ao dashboard com Hadoop e Pentaho
PDF
SEBRAETEC - Inteligência Empresarial com CRM BI ECM e BPM
PDF
Carreira Profissional e Certificação de um Analista de BI Pentaho
PDF
Suporte a Geo-Mapping no Pentaho Report
PDF
Negócios em FLOSS
PDF
Pentaho Data Integration - Integração e Migração de Dados com ETL Open Source...
PDF
Alfresco ECM e Gestão Eletrônica de Documentos Open Source
PDF
Palestra: Cientista de Dados – Dominando o Big Data com Software Livre
PDF
Big Data, o que é isso?
PDF
Moodle - Sistema de Gestão da Aprendizagem Open Source
PDF
Programação de Macros com LibreOffice Basic
PDF
Apresentação Executiva do Iguana BI for SugarCRM
O Potencial Competitivo da Ciencia de Dados e da Inteligencia Artificial nas ...
Metodologia Hacker de Ensino na Ambiente Livre
Integrando o Drupal com o ECM Alfresco usando CMIS
Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...
TDC2017 - Misturando dados com Pentaho para insights mais significativos
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Pentaho, Hadoop , Big Data e Data Lakes
PostgreSQL em projetos de Business Analytics e Big Data Analytics com Pentaho
Big Data Analytics - Do MapReduce ao dashboard com Hadoop e Pentaho
SEBRAETEC - Inteligência Empresarial com CRM BI ECM e BPM
Carreira Profissional e Certificação de um Analista de BI Pentaho
Suporte a Geo-Mapping no Pentaho Report
Negócios em FLOSS
Pentaho Data Integration - Integração e Migração de Dados com ETL Open Source...
Alfresco ECM e Gestão Eletrônica de Documentos Open Source
Palestra: Cientista de Dados – Dominando o Big Data com Software Livre
Big Data, o que é isso?
Moodle - Sistema de Gestão da Aprendizagem Open Source
Programação de Macros com LibreOffice Basic
Apresentação Executiva do Iguana BI for SugarCRM
Anúncio

Último (19)

PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PDF
Apple Pippin Uma breve introdução. - David Glotz
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Processos na gestão de transportes, TM100 Col18
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Aula04-Academia Heri- Tecnologia Geral 2025
Apple Pippin Uma breve introdução. - David Glotz
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Custos e liquidação no SAP Transportation Management, TM130 Col18
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Processos na gestão de transportes, TM100 Col18
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
COBITxITIL-Entenda as diferença em uso governança TI
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Aula 18 - Manipulacao De Arquivos python
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14

Apache Flink a Quarta Geração 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/