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

La mia prima data pipeline

La mia prima data pipeline

Torino Coding Society 20/09/16

Riccardo Magliocchetti

September 21, 2016
Tweet

More Decks by Riccardo Magliocchetti

Other Decks in Programming

Transcript

  1. La mia prima data pipeline
    Torino Coding Society
    Riccardo Magliocchetti

    View Slide

  2. whoami
    Sw developer @ Maieutical Labs / Consultant
    @rmistaken

    View Slide

  3. Menu della serata
    Creare una data pipeline che:
    consumi una api
    salvi i dati in db
    ci permetta di fare delle analisi

    View Slide

  4. Cos'è una data
    pipeline?

    View Slide

  5. Perchè questo talk?
    Cliente: Dobbiamo mostrare ai nostri clienti statistiche dell'uso
    del nostro prodotto da parte degli utenti

    View Slide

  6. Criticità
    auth
    dati ltrati per cliente
    gli utenti devono potersi fare le proprio visualizzazioni in
    autonomia

    View Slide

  7. OTOH
    Un progetto senza legacy \o/

    View Slide

  8. Come lo implemento?
    Web app fatta in casa
    Elasticsearch / Kibana / Logstash / Beats
    Time-series db + Grafana

    View Slide

  9. Web app fatta in casa
    un'altra app da scrivere e da mantere

    View Slide

  10. Elastic Stack
    altri due servizi complessi da mantenere
    auth a pagamento
    pacchetti distro non aggiornati
    java :P

    View Slide

  11. Time-series db + Grafana
    permessi ne-grained non disponibili
    visualizzazioni Grafana troppo semplici

    View Slide

  12. KISS! aka Boring
    Tech

    View Slide

  13. Punti saldi
    storage: db relazionale (Postgres)
    API lato applicazione per esportare i dati
    Luigi per il plumbing
    per il frontend prendiamo tempo :)

    View Slide

  14. Luigi
    creato in Spotify
    scritto in Python
    usato da molti
    secondo miglior idraulico al mondo!

    View Slide

  15. Mi evita di scriptare

    View Slide

  16. Concetti principali
    Task: run(), output(), requires()
    Target: un le su disco / S3 / HDFS, una riga in un database

    View Slide

  17. Batch vs Realtime
    fallisce, guardo i log e rifaccio ripartire
    voglio cambiare il formato dati? rifaccio le query alle api e
    mi ricostruisco il db
    granularità richiesta una settimana se non mese

    View Slide

  18. 30 marzo 2016
    :
    @mistercrunch annuncia
    As a vector for data exploration, discovery, and collaborative
    analytics, we have built and are now open sourcing, a data
    exploration and dashboarding platform named Caravel.

    View Slide

  19. View Slide

  20. Caravel
    creato e mantenuto da un team di airbnb
    permette di creare visualizzazioni e dashboard in
    autonomia

    View Slide

  21. Caravel Tech
    hackable! ~8 KLOC di python vs ES 1.6 MLOC java
    ask + ask app builder
    gra ci d3.js / nvd3.js , frontend passaggio a react in corso
    legge dati da dialetto sqlalchemy (hive / impala) o druid.io

    View Slide

  22. DEMO

    View Slide

  23. Thanks!
    @rmistaken
    github
    Contatti

    View Slide