Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Apache Spark: Casos de uso e escalabilidade

Apache Spark: Casos de uso e escalabilidade

Devfest 2017

Flavio Clesio

November 04, 2017
Tweet

More Decks by Flavio Clesio

Other Decks in Programming

Transcript

  1. 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
  2. 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
  3. • 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
  4. O que é Apache Spark? 9 Apache Spark™ is a

    fast and general engine for large-scale data processing.
  5. 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
  6. 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
  7. 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)
  8. • 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
  9. 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
  10. 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+)
  11. 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-pr oduction/ 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
  12. Referências 28 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