SlideShare a Scribd company logo
1 of 38
Download to read 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/

More Related Content

What's hot

소스트리(SourceTree)로 배우는 Git 사용법
소스트리(SourceTree)로 배우는 Git 사용법소스트리(SourceTree)로 배우는 Git 사용법
소스트리(SourceTree)로 배우는 Git 사용법주형 고
 
Slides: Why You Need End-to-End Data Quality to Build Trust in Kafka
Slides: Why You Need End-to-End Data Quality to Build Trust in KafkaSlides: Why You Need End-to-End Data Quality to Build Trust in Kafka
Slides: Why You Need End-to-End Data Quality to Build Trust in KafkaDATAVERSITY
 
Presto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything EnginePresto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything EngineDataWorks Summit
 
Data Visualization Using PowerBI.pdf
Data Visualization Using PowerBI.pdfData Visualization Using PowerBI.pdf
Data Visualization Using PowerBI.pdfR20BBA040
 
5 Factors When Selecting a High Performance, Low Latency Database
5 Factors When Selecting a High Performance, Low Latency Database5 Factors When Selecting a High Performance, Low Latency Database
5 Factors When Selecting a High Performance, Low Latency DatabaseScyllaDB
 
Near real-time anomaly detection at Lyft
Near real-time anomaly detection at LyftNear real-time anomaly detection at Lyft
Near real-time anomaly detection at Lyftmarkgrover
 
ABR Algorithms Explained (from Streaming Media East 2016)
ABR Algorithms Explained (from Streaming Media East 2016) ABR Algorithms Explained (from Streaming Media East 2016)
ABR Algorithms Explained (from Streaming Media East 2016) Erica Beavers
 
Machine learning at scale with Google Cloud Platform
Machine learning at scale with Google Cloud PlatformMachine learning at scale with Google Cloud Platform
Machine learning at scale with Google Cloud PlatformMatthias Feys
 
Why Splunk Chose Pulsar_Karthik Ramasamy
Why Splunk Chose Pulsar_Karthik RamasamyWhy Splunk Chose Pulsar_Karthik Ramasamy
Why Splunk Chose Pulsar_Karthik RamasamyStreamNative
 
Agile Data Science on Greenplum Using Airflow - Greenplum Summit 2019
Agile Data Science on Greenplum Using Airflow - Greenplum Summit 2019Agile Data Science on Greenplum Using Airflow - Greenplum Summit 2019
Agile Data Science on Greenplum Using Airflow - Greenplum Summit 2019VMware Tanzu
 
Streaming Event Time Partitioning with Apache Flink and Apache Iceberg - Juli...
Streaming Event Time Partitioning with Apache Flink and Apache Iceberg - Juli...Streaming Event Time Partitioning with Apache Flink and Apache Iceberg - Juli...
Streaming Event Time Partitioning with Apache Flink and Apache Iceberg - Juli...Flink Forward
 
Apache Flink and what it is used for
Apache Flink and what it is used forApache Flink and what it is used for
Apache Flink and what it is used forAljoscha Krettek
 
Delta Lake with Azure Databricks
Delta Lake with Azure DatabricksDelta Lake with Azure Databricks
Delta Lake with Azure DatabricksDustin Vannoy
 
にぎやか 3 人組が選ぶ Microsoft 365 注目アップデート 7 選
にぎやか 3 人組が選ぶ Microsoft 365 注目アップデート 7 選にぎやか 3 人組が選ぶ Microsoft 365 注目アップデート 7 選
にぎやか 3 人組が選ぶ Microsoft 365 注目アップデート 7 選Hirofumi Ota
 
これでできる! Microsoft Teams アプリ開発のポイント徹底解説
これでできる! Microsoft Teams アプリ開発のポイント徹底解説これでできる! Microsoft Teams アプリ開発のポイント徹底解説
これでできる! Microsoft Teams アプリ開発のポイント徹底解説Osamu Monoe
 
Spark streaming
Spark streamingSpark streaming
Spark streamingWhiteklay
 
Sentiment analysis of twitter data
Sentiment analysis of twitter dataSentiment analysis of twitter data
Sentiment analysis of twitter dataBhagyashree Deokar
 
Real-Time Forecasting at Scale using Delta Lake and Delta Caching
Real-Time Forecasting at Scale using Delta Lake and Delta CachingReal-Time Forecasting at Scale using Delta Lake and Delta Caching
Real-Time Forecasting at Scale using Delta Lake and Delta CachingDatabricks
 

What's hot (20)

Observability at Spotify
Observability at SpotifyObservability at Spotify
Observability at Spotify
 
소스트리(SourceTree)로 배우는 Git 사용법
소스트리(SourceTree)로 배우는 Git 사용법소스트리(SourceTree)로 배우는 Git 사용법
소스트리(SourceTree)로 배우는 Git 사용법
 
Slides: Why You Need End-to-End Data Quality to Build Trust in Kafka
Slides: Why You Need End-to-End Data Quality to Build Trust in KafkaSlides: Why You Need End-to-End Data Quality to Build Trust in Kafka
Slides: Why You Need End-to-End Data Quality to Build Trust in Kafka
 
Presto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything EnginePresto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything Engine
 
Data Visualization Using PowerBI.pdf
Data Visualization Using PowerBI.pdfData Visualization Using PowerBI.pdf
Data Visualization Using PowerBI.pdf
 
5 Factors When Selecting a High Performance, Low Latency Database
5 Factors When Selecting a High Performance, Low Latency Database5 Factors When Selecting a High Performance, Low Latency Database
5 Factors When Selecting a High Performance, Low Latency Database
 
Apache Kafka at LinkedIn
Apache Kafka at LinkedInApache Kafka at LinkedIn
Apache Kafka at LinkedIn
 
Near real-time anomaly detection at Lyft
Near real-time anomaly detection at LyftNear real-time anomaly detection at Lyft
Near real-time anomaly detection at Lyft
 
ABR Algorithms Explained (from Streaming Media East 2016)
ABR Algorithms Explained (from Streaming Media East 2016) ABR Algorithms Explained (from Streaming Media East 2016)
ABR Algorithms Explained (from Streaming Media East 2016)
 
Machine learning at scale with Google Cloud Platform
Machine learning at scale with Google Cloud PlatformMachine learning at scale with Google Cloud Platform
Machine learning at scale with Google Cloud Platform
 
Why Splunk Chose Pulsar_Karthik Ramasamy
Why Splunk Chose Pulsar_Karthik RamasamyWhy Splunk Chose Pulsar_Karthik Ramasamy
Why Splunk Chose Pulsar_Karthik Ramasamy
 
Agile Data Science on Greenplum Using Airflow - Greenplum Summit 2019
Agile Data Science on Greenplum Using Airflow - Greenplum Summit 2019Agile Data Science on Greenplum Using Airflow - Greenplum Summit 2019
Agile Data Science on Greenplum Using Airflow - Greenplum Summit 2019
 
Streaming Event Time Partitioning with Apache Flink and Apache Iceberg - Juli...
Streaming Event Time Partitioning with Apache Flink and Apache Iceberg - Juli...Streaming Event Time Partitioning with Apache Flink and Apache Iceberg - Juli...
Streaming Event Time Partitioning with Apache Flink and Apache Iceberg - Juli...
 
Apache Flink and what it is used for
Apache Flink and what it is used forApache Flink and what it is used for
Apache Flink and what it is used for
 
Delta Lake with Azure Databricks
Delta Lake with Azure DatabricksDelta Lake with Azure Databricks
Delta Lake with Azure Databricks
 
にぎやか 3 人組が選ぶ Microsoft 365 注目アップデート 7 選
にぎやか 3 人組が選ぶ Microsoft 365 注目アップデート 7 選にぎやか 3 人組が選ぶ Microsoft 365 注目アップデート 7 選
にぎやか 3 人組が選ぶ Microsoft 365 注目アップデート 7 選
 
これでできる! Microsoft Teams アプリ開発のポイント徹底解説
これでできる! Microsoft Teams アプリ開発のポイント徹底解説これでできる! Microsoft Teams アプリ開発のポイント徹底解説
これでできる! Microsoft Teams アプリ開発のポイント徹底解説
 
Spark streaming
Spark streamingSpark streaming
Spark streaming
 
Sentiment analysis of twitter data
Sentiment analysis of twitter dataSentiment analysis of twitter data
Sentiment analysis of twitter data
 
Real-Time Forecasting at Scale using Delta Lake and Delta Caching
Real-Time Forecasting at Scale using Delta Lake and Delta CachingReal-Time Forecasting at Scale using Delta Lake and Delta Caching
Real-Time Forecasting at Scale using Delta Lake and Delta Caching
 

Similar to Apache Flink a Quarta Geração do Big Data

AEL - Adaptive Execution Layer on Spark Cluster with Pentaho Data Integration
AEL - Adaptive Execution Layer on Spark Cluster with Pentaho Data Integration AEL - Adaptive Execution Layer on Spark Cluster with Pentaho Data Integration
AEL - Adaptive Execution Layer on Spark Cluster with Pentaho Data Integration Ambiente Livre
 
Congresso iii unifacsv3
Congresso iii unifacsv3Congresso iii unifacsv3
Congresso iii unifacsv3IP10
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Marcelo Dieder
 
Template_Faculdade_Apache Kafka.pdf
Template_Faculdade_Apache Kafka.pdfTemplate_Faculdade_Apache Kafka.pdf
Template_Faculdade_Apache Kafka.pdfValdir Adorni
 
Integrando o Drupal com o ECM Alfresco usando CMIS
Integrando o Drupal com o ECM Alfresco usando CMISIntegrando o Drupal com o ECM Alfresco usando CMIS
Integrando o Drupal com o ECM Alfresco usando CMISAmbiente Livre
 
Stream Processing - ThoughtWorks Architecture Group - 2017
Stream Processing - ThoughtWorks Architecture Group - 2017Stream Processing - ThoughtWorks Architecture Group - 2017
Stream Processing - ThoughtWorks Architecture Group - 2017Otávio Carvalho
 
Congresso iv
Congresso ivCongresso iv
Congresso ivIP10
 
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 ...Ambiente Livre
 
Pipeline da Engenharia de Dados
Pipeline da Engenharia de DadosPipeline da Engenharia de Dados
Pipeline da Engenharia de DadosEderson Corbari
 
Apache PHP MySQL
Apache  PHP  MySQLApache  PHP  MySQL
Apache PHP MySQLkisb1337
 
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
 
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 715Renato Groff
 
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 Gabriel Machado
 
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...Affinitas GmbH
 
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 2013George Mendonça
 
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 dadosRenan Moreira de Oliveira
 
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?Impacta Eventos
 

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

AEL - Adaptive Execution Layer on Spark Cluster with Pentaho Data Integration
AEL - Adaptive Execution Layer on Spark Cluster with Pentaho Data Integration AEL - Adaptive Execution Layer on Spark Cluster with Pentaho Data Integration
AEL - Adaptive Execution Layer on Spark Cluster with Pentaho Data Integration
 
De 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuáriosDe 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuários
 
Congresso iii unifacsv3
Congresso iii unifacsv3Congresso iii unifacsv3
Congresso iii unifacsv3
 
LAMP Server
LAMP ServerLAMP Server
LAMP Server
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?
 
Template_Faculdade_Apache Kafka.pdf
Template_Faculdade_Apache Kafka.pdfTemplate_Faculdade_Apache Kafka.pdf
Template_Faculdade_Apache Kafka.pdf
 
Integrando o Drupal com o ECM Alfresco usando CMIS
Integrando o Drupal com o ECM Alfresco usando CMISIntegrando o Drupal com o ECM Alfresco usando CMIS
Integrando o Drupal com o ECM Alfresco usando CMIS
 
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?
 

More from Ambiente Livre

Low Code Data Science with Pentaho Machine Intelligence
Low Code Data Science with Pentaho Machine IntelligenceLow Code Data Science with Pentaho Machine Intelligence
Low Code Data Science with Pentaho Machine IntelligenceAmbiente Livre
 
Orquestrando HBase, Cassandra e MongoDB com o Pentaho Big Data Analytics.
Orquestrando HBase, Cassandra e MongoDB com o Pentaho Big Data Analytics.  Orquestrando HBase, Cassandra e MongoDB com o Pentaho Big Data Analytics.
Orquestrando HBase, Cassandra e MongoDB com o Pentaho Big Data Analytics. Ambiente Livre
 
FISL18 - Open Data Science - Elaborando uma plataforma de Big Data & Analytic...
FISL18 - Open Data Science - Elaborando uma plataforma de Big Data & Analytic...FISL18 - Open Data Science - Elaborando uma plataforma de Big Data & Analytic...
FISL18 - Open Data Science - Elaborando uma plataforma de Big Data & Analytic...Ambiente Livre
 
O Potencial Competitivo da Ciencia de Dados e da Inteligencia Artificial nas ...
O Potencial Competitivo da Ciencia de Dados e da Inteligencia Artificial nas ...O Potencial Competitivo da Ciencia de Dados e da Inteligencia Artificial nas ...
O Potencial Competitivo da Ciencia de Dados e da Inteligencia Artificial nas ...Ambiente Livre
 
Metodologia Hacker de Ensino na Ambiente Livre
Metodologia Hacker de Ensino na Ambiente LivreMetodologia Hacker de Ensino na Ambiente Livre
Metodologia Hacker de Ensino na Ambiente LivreAmbiente Livre
 
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 ...Ambiente Livre
 
TDC2017 - Misturando dados com Pentaho para insights mais significativos
TDC2017 - Misturando dados com Pentaho para insights mais significativosTDC2017 - Misturando dados com Pentaho para insights mais significativos
TDC2017 - Misturando dados com Pentaho para insights mais significativosAmbiente Livre
 
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.Ambiente Livre
 
Pentaho, Hadoop , Big Data e Data Lakes
Pentaho, Hadoop , Big Data e Data LakesPentaho, Hadoop , Big Data e Data Lakes
Pentaho, Hadoop , Big Data e Data LakesAmbiente Livre
 
PostgreSQL em projetos de Business Analytics e Big Data Analytics com Pentaho
PostgreSQL em projetos de Business Analytics e Big Data Analytics com PentahoPostgreSQL em projetos de Business Analytics e Big Data Analytics com Pentaho
PostgreSQL em projetos de Business Analytics e Big Data Analytics com PentahoAmbiente Livre
 
Pentaho Hadoop Big Data e Data Lakes
Pentaho Hadoop Big Data e Data LakesPentaho Hadoop Big Data e Data Lakes
Pentaho Hadoop Big Data e Data LakesAmbiente Livre
 
Big Data Analytics - Do MapReduce ao dashboard com Hadoop e Pentaho
Big Data Analytics - Do MapReduce ao dashboard com Hadoop e PentahoBig Data Analytics - Do MapReduce ao dashboard com Hadoop e Pentaho
Big Data Analytics - Do MapReduce ao dashboard com Hadoop e PentahoAmbiente Livre
 
SEBRAETEC - Inteligência Empresarial com CRM BI ECM e BPM
SEBRAETEC -  Inteligência Empresarial com CRM BI ECM e BPMSEBRAETEC -  Inteligência Empresarial com CRM BI ECM e BPM
SEBRAETEC - Inteligência Empresarial com CRM BI ECM e BPMAmbiente Livre
 
Carreira Profissional e Certificação de um Analista de BI Pentaho
Carreira Profissional e Certificação de um Analista de BI PentahoCarreira Profissional e Certificação de um Analista de BI Pentaho
Carreira Profissional e Certificação de um Analista de BI PentahoAmbiente Livre
 
Suporte a Geo-Mapping no Pentaho Report
Suporte a Geo-Mapping no Pentaho ReportSuporte a Geo-Mapping no Pentaho Report
Suporte a Geo-Mapping no Pentaho ReportAmbiente Livre
 
Pentaho Data Integration - Integração e Migração de Dados com ETL Open Source...
Pentaho Data Integration - Integração e Migração de Dados com ETL Open Source...Pentaho Data Integration - Integração e Migração de Dados com ETL Open Source...
Pentaho Data Integration - Integração e Migração de Dados com ETL Open Source...Ambiente Livre
 
Alfresco ECM e Gestão Eletrônica de Documentos Open Source
Alfresco ECM e Gestão Eletrônica de Documentos Open SourceAlfresco ECM e Gestão Eletrônica de Documentos Open Source
Alfresco ECM e Gestão Eletrônica de Documentos Open SourceAmbiente Livre
 
Palestra: Cientista de Dados – Dominando o Big Data com Software Livre
Palestra: Cientista de Dados – Dominando o Big Data com Software LivrePalestra: Cientista de Dados – Dominando o Big Data com Software Livre
Palestra: Cientista de Dados – Dominando o Big Data com Software LivreAmbiente Livre
 
Big Data, o que é isso?
Big Data, o que é isso?Big Data, o que é isso?
Big Data, o que é isso?Ambiente Livre
 

More from Ambiente Livre (20)

Low Code Data Science with Pentaho Machine Intelligence
Low Code Data Science with Pentaho Machine IntelligenceLow Code Data Science with Pentaho Machine Intelligence
Low Code Data Science with Pentaho Machine Intelligence
 
Orquestrando HBase, Cassandra e MongoDB com o Pentaho Big Data Analytics.
Orquestrando HBase, Cassandra e MongoDB com o Pentaho Big Data Analytics.  Orquestrando HBase, Cassandra e MongoDB com o Pentaho Big Data Analytics.
Orquestrando HBase, Cassandra e MongoDB com o Pentaho Big Data Analytics.
 
FISL18 - Open Data Science - Elaborando uma plataforma de Big Data & Analytic...
FISL18 - Open Data Science - Elaborando uma plataforma de Big Data & Analytic...FISL18 - Open Data Science - Elaborando uma plataforma de Big Data & Analytic...
FISL18 - Open Data Science - Elaborando uma plataforma de Big Data & Analytic...
 
O Potencial Competitivo da Ciencia de Dados e da Inteligencia Artificial nas ...
O Potencial Competitivo da Ciencia de Dados e da Inteligencia Artificial nas ...O Potencial Competitivo da Ciencia de Dados e da Inteligencia Artificial nas ...
O Potencial Competitivo da Ciencia de Dados e da Inteligencia Artificial nas ...
 
Metodologia Hacker de Ensino na Ambiente Livre
Metodologia Hacker de Ensino na Ambiente LivreMetodologia Hacker de Ensino na Ambiente Livre
Metodologia Hacker de Ensino na Ambiente Livre
 
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 ...
 
TDC2017 - Misturando dados com Pentaho para insights mais significativos
TDC2017 - Misturando dados com Pentaho para insights mais significativosTDC2017 - Misturando dados com Pentaho para insights mais significativos
TDC2017 - Misturando dados com Pentaho para insights mais significativos
 
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
 
Pentaho, Hadoop , Big Data e Data Lakes
Pentaho, Hadoop , Big Data e Data LakesPentaho, Hadoop , Big Data e Data Lakes
Pentaho, Hadoop , Big Data e Data Lakes
 
PostgreSQL em projetos de Business Analytics e Big Data Analytics com Pentaho
PostgreSQL em projetos de Business Analytics e Big Data Analytics com PentahoPostgreSQL em projetos de Business Analytics e Big Data Analytics com Pentaho
PostgreSQL em projetos de Business Analytics e Big Data Analytics com Pentaho
 
Pentaho Hadoop Big Data e Data Lakes
Pentaho Hadoop Big Data e Data LakesPentaho Hadoop Big Data e Data Lakes
Pentaho Hadoop Big Data e Data Lakes
 
Big Data Analytics - Do MapReduce ao dashboard com Hadoop e Pentaho
Big Data Analytics - Do MapReduce ao dashboard com Hadoop e PentahoBig Data Analytics - Do MapReduce ao dashboard com Hadoop e Pentaho
Big Data Analytics - Do MapReduce ao dashboard com Hadoop e Pentaho
 
SEBRAETEC - Inteligência Empresarial com CRM BI ECM e BPM
SEBRAETEC -  Inteligência Empresarial com CRM BI ECM e BPMSEBRAETEC -  Inteligência Empresarial com CRM BI ECM e BPM
SEBRAETEC - Inteligência Empresarial com CRM BI ECM e BPM
 
Carreira Profissional e Certificação de um Analista de BI Pentaho
Carreira Profissional e Certificação de um Analista de BI PentahoCarreira Profissional e Certificação de um Analista de BI Pentaho
Carreira Profissional e Certificação de um Analista de BI Pentaho
 
Suporte a Geo-Mapping no Pentaho Report
Suporte a Geo-Mapping no Pentaho ReportSuporte a Geo-Mapping no Pentaho Report
Suporte a Geo-Mapping no Pentaho Report
 
Negócios em FLOSS
Negócios em FLOSSNegócios em FLOSS
Negócios em FLOSS
 
Pentaho Data Integration - Integração e Migração de Dados com ETL Open Source...
Pentaho Data Integration - Integração e Migração de Dados com ETL Open Source...Pentaho Data Integration - Integração e Migração de Dados com ETL Open Source...
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
Alfresco ECM e Gestão Eletrônica de Documentos Open SourceAlfresco ECM e Gestão Eletrônica de Documentos Open Source
Alfresco ECM e Gestão Eletrônica de Documentos Open Source
 
Palestra: Cientista de Dados – Dominando o Big Data com Software Livre
Palestra: Cientista de Dados – Dominando o Big Data com Software LivrePalestra: Cientista de Dados – Dominando o Big Data com Software Livre
Palestra: Cientista de Dados – Dominando o Big Data com Software Livre
 
Big Data, o que é isso?
Big Data, o que é isso?Big Data, o que é isso?
Big Data, o que é isso?
 

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/