2
Flávio Clésio
• Core Machine Learning at Movile• Me. Engenharia de Produção (Inteligência Computacional em NPLs) - (UNINOVE)• Especialista em Engenharia de Banco de Dados (UNICAMP)• Professor no Mackenzie (Curso Pós-Grad. em Ciência de Dados)• Professor no Grupo Kroton (Curso Pós-Grad. em Gestão Estratégica)• Speaker no Strata Hadoop World Singapore (2016)• Speaker no Spark Summit Europe (2017)• Blogger no Mineração de Dados - http://mineracaodedados.wordpress.com
flavioclesio
SOBRE NÓS
SOBRE NÓS
3
• Coordenador de TI e Arquiteto de Software na Movile• Mestre em Engenharia Elétrica• Apache Cassandra MVP (2014/2015 and 2015/2016)• Apache Cassandra Contributor (2015)• Cassandra Summit Speaker (2014 and 2015)• Speaker no Strata Hadoop World Singapore (2016)• Speaker no Spark Summit Europe (2017)
Eiti Kimura
eitikimura
● Introdução ao Apache Spark● Funcionamento do Apache Spark● Spark SQL● Spark Structured Streaming ● Spark MLLib● Casos de Uso● Limitações● Considerações Finais
Agenda
7
Em que o Apache Spark é usado?
10
● Processos de ETL
● Consultas Interativas (SQL)
● Análise de dados avançada
● Machine Learning/Deep Learning
● Streaming sobre grandes datasets
Spark SQL
15
• Complemento ao Hadoop/Apache Hive• Batch Processing para Analytics• Camada de BI para Reporting• Compatibilidade de Conectores para SGBD• Operações Untyped / SQL ANSI
Spark Structured Streaming
16
• Nova API de alto nível• Desenvolvimento de aplicações contínuas• Junção de dados contínua com conteúdo estático• Integrações com diversas fontes de dados (Kafka)• Tolerante a falhas (check-points)• Tratamento de eventos desordenados (Watermark)
• Classificação: Regressão Logística, Árvores de Decisão, Random Forest, GBT, MLP, SVM, Naive Bayes
• Regressão: Linear, GLM, Árvore de Decisão, Survival Regression, GBR, Isotonic Regression
• Recomendação: Alternating Least Squares (ALS)• Clustering: K-Means, Gaussian Mixture Model (GMM)• Patterns: Itens Frequentes, Regras de Associação
Spark MLLib - Algoritmos
18
Limitações do Spark
20
● Necessidade muito grande de investimento em memória RAM● Footprint de memória pode ser um pesadelo em pipelines de
ML intensivos, em especial em hiper-parametrizações pouco seletivas
● Com MapReduce alguns algoritmos complexos são inviáveis para a implementação, devido à comunicação entre os nós para monitorar estados intermediários e interações
24http://bit.ly/spark-ml-case
PREVENTING REVENUE LEAKAGE AND MONITORING DISTRIBUTED SYSTEMS WITH MACHINE LEARNING
github.com/eitikimura/spark-cases
http://bit.ly/spark-cases-devfest
http://bit.ly/playlist-spark-summit
OBRIGADO!
eitikimura [email protected]
Material sobre Apache Spark
Jacek Laskowski
26
Consultor Independente
http://www.gitbook.com/@jaceklaskowski
Mastering Apache Spark 2 (Spark 2.2+)
Spark Structured Streaming (Apache Spark 2.2+)
Aplicações interessantes com Spark - https://www.quora.com/What-are-some-interesting-applications-of-Apache-Spark
300Tb no Apache SPark em produção - https://spark-summit.org/eu-2017/events/lessons-learned-developing-and-managing-massive-300tb-apache-spark-pipelines-in-production/
BenchML - https://github.com/szilard/benchm-ml
Haddop x Spark x Flink - https://data-flair.training/blogs/hadoop-vs-spark-vs-flink-comparison/
Map Reduce Core Paper - https://github.com/eartsar/RIT-BigData/blob/master/docs/Presentation%20PDFs/nips06-mapreducemulticore.pdf
Data Intensive Processing MapReduce - https://www.amazon.com/Data-Intensive-Processing-MapReduce-Synthesis-Technologies/dp/1608453421/
Map Reduce Core Paper - https://github.com/eartsar/RIT-BigData/blob/master/docs/Presentation%20PDFs/nips06-mapreducemulticore.pdf
Referências
27
Data Intensive Processing MapReduce - https://www.amazon.com/Data-Intensive-Processing-MapReduce-Synthesis-Technologies/dp/1608453421/
Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing: https://www2.eecs.berkeley.edu/Pubs/TechRpts/2011/EECS-2011-82.html
Apache Spark officially sets a new record in large-scale sorting - https://databricks.com/blog/2014/11/05/spark-officially-sets-a-new-record-in-large-scale-sorting.html
Spark SKLearn- https://github.com/databricks/spark-sklearn
Elephas - https://github.com/maxpumperla/elephas
Deep Learning Pipelines in Spark - https://github.com/databricks/spark-deep-learning
Distributed Keras - https://github.com/cerndb/dist-keras
Referências
28