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

big data disruptiva com pyspark

big data disruptiva com pyspark

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)