Successfully reported this slideshow.
Your SlideShare is downloading. ×

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

Ad

Apache Flink a Quarta
Geração do Big Data
Marcio Junior Vieira
CEO & Data Scientist, Ambiente Livre
Prof. MBA Universidade...

Ad

© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-3438
Marcio Junior Vieira
Mini-C...

Ad

© 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-3438
Nosso Ecossistema de Serviç...

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Loading in …3
×

Check these out next

1 of 38 Ad
1 of 38 Ad
Advertisement

More Related Content

More from tdc-globalcode (20)

Advertisement

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

  1. 1. Apache Flink a Quarta Geração do Big Data Marcio Junior Vieira CEO & Data Scientist, Ambiente Livre Prof. MBA Universidade Positivo
  2. 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. 3. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-3438 Nosso Ecossistema de Serviços
  4. 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. 5. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-3438 As Gerações do Big Data
  6. 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. 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. 8. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-3438 Apache Flink
  9. 9. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-3438 Stack - Apache Flink
  10. 10. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34380 Execução Distribuída
  11. 11. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34381 Job Client / Stream Dataflow
  12. 12. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34382 Parallel Streaming Dataflow
  13. 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. 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. 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. 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. 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. 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. 19. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34389 Quem utiliza o Apache Flink ?
  20. 20. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34380 WordCount Flink em Scala - Stream
  21. 21. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34381 WordCount Flink em Java - Stream
  22. 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. 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. 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. 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. 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. 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. 28. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34388 Table API & SQL
  29. 29. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34389 Table API & SQL
  30. 30. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34380 Window - Table API
  31. 31. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34381 Window - SQL
  32. 32. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34382 Arquitetura - Table & SQL API
  33. 33. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34383 SQL Client
  34. 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. 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. 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. 37. © 2018, Ambiente Livre. Todos direitos reservados. www.ambientelivre.com.br +55 (41) 3308-34387 Referências ● Flink http://flink.apache.org/
  38. 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/

×