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

big data disruptiva com pyspark

big data disruptiva com pyspark

Avatar for Robson Júnior

Robson Júnior

June 26, 2016
Tweet

More Decks by Robson Júnior

Other Decks in Programming

Transcript

  1. @bsao • +12 anos como desenvolvedor (+10 com python) •

    data engineer @ vivareal.com • meu time: http://bit.ly/data-vr rupy brazil chairman startup vale co-founder agilevale co-founder
  2. São Paulo / SP - 24 e 25 de Novembro

    www.polyconf.com.br DIVERSIDADE UNIDA
  3. big data é o imenso volume de dados estruturados ou

    não que impactam o dia a dia dos negócios.
  4. +

  5. • framework para processamento de big-data • foco em velocidade

    • abstração de analises sofisticadas • nasceu da academia em Berkeley, 2009 • open source 2010 • fácil/rápido/escalável/framework para cluster computing • o core é escrito em scala (jvm) • apis completas para Python e o resto (Java/Scala/R) • um projeto muito ativo desde 2014
  6. características • extende MapReduce; • suporta mais do que apenas

    as funções de Map e Reduce; • evita mover dados durante o processamento, • “cachea” dados em memória e processamento proximo do tempo real. • detem dados intermediários em memória, para processar o mesmo conjunto de dados varias vezes • o disco é usado quando a memória acaba. • REPL
  7. arquitetura • API - criação de aplicações (Scala, Java ou

    Python) • Armazenamento de dados - Usa o HDFS para armezar os dados, ou seja, consegue processar nativamente qualquer dado compatível. • Framework de gerenciamento - Gestão da infraestrutura.
  8. RDD Resilient Distributed Datasets é a estrutura de dado fundamental

    do Spark é uma coleção de dados distribuida pode conter qualquer tipo de dados python / java ou scala tolerante a falhas
  9. SparkContext • é a porta de entrada para o spark

    • configuração e provisionamento
  10. beatles = sc.textFile(‘storage/file’) storage partição partição partição beatles = beatles.map(loads)

    collect beatles.collect() partição partição partição beatles = beatles.filter(lambda b: b[‘track_duration’] > 25000)
  11. behind the scenes - python • py4j - permite que

    um programa python rodando dentro de um interpretador python possa acessar objetos java em uma jvm. • pickle
  12. driver worker Python SparkContext beatles = sc.textFile(‘storage/file’) py4j Java SparkContext

    sc = SparkContext() java executor task beatles = beatles.map(loads) Python Code Python Code task beatles = beatles.filter(lambda b: b[‘track_duration’] > 25000)