← Torna ai progetti

Project work ITS · progetto di gruppo

Big Data NoSQL con Databricks

Analisi di annunci Inside Airbnb per Amsterdam e Rio de Janeiro: export dei livelli Bronze, Silver e Gold, con limiti di esecuzione documentati.

Esplora l’architettura

Contesto

Project work ITS del gruppo Big Data NoSQL Gang, sviluppato nel vecchio Databricks Community Edition. L’archivio recuperato contiene notebook sorgente Bronze, Silver e Gold, una documentazione e una configurazione di visualizzazione; non contiene i CSV né output di esecuzione. “NoSQL” è il nome del project work, non la prova dell’uso di un database NoSQL.

Problema

Preparare dati Inside Airbnb relativi ad Amsterdam e Rio de Janeiro per analizzare annunci e recensioni senza confondere acquisizione, normalizzazione e interrogazioni analitiche.

Obiettivo

Organizzare una pipeline a livelli Bronze/Silver/Gold e produrre interrogazioni utili al confronto delle due città. L’obiettivo del gruppo non equivale a un’esecuzione end-to-end verificata.

Responsabilità personali

Ero team leader e mi occupavo principalmente del coordinamento e della data ingestion. Il notebook Bronze esportato porta il mio nome e descrive questa fase. Le trasformazioni Silver, le query Gold e le visualizzazioni sono presentate come lavoro del gruppo: i nomi dei file non dimostrano da soli chi abbia scritto ogni cella.

Architettura

Livelli definiti nell’export

  1. 01Bronze: 4 tabelle
  2. 02Silver: listings
  3. 03Gold: viste e query
I notebook definiscono Bronze, Silver e Gold; silver_reviews manca e non è provata un’esecuzione completa.

Implementazione documentata

Il notebook Bronze legge quattro CSV dettagliati di listings e reviews da un volume Databricks, aggiunge città e timestamp di ingestion e definisce quattro tabelle Delta. Il notebook Silver crea silver_listings con UNION ALL di Amsterdam e Rio, selezione di colonne e conversioni di tipo e prezzo. La documentazione cita silver_reviews, ma il relativo codice manca nell’archivio. Il notebook Gold definisce viste SQL per conteggi e distribuzioni; il file IPYNB conserva due configurazioni di grafici, senza valori esportati.

Decisioni e compromessi

  • Parsing dei CSV

    La lettura Bronze mantiene le colonne come stringhe e imposta multilinea, virgolette, escape e modalità PERMISSIVE per i campi testuali complessi. La documentazione motiva la scelta dei dataset detailed rispetto ai summary per la presenza dei rating; l’archivio non permette di verificare i file originali.

  • Separazione dei livelli

    Silver conserva i record con UNION ALL e rinvia gli eventuali filtri analitici al Gold. La documentazione dichiara di non deduplicare gli annunci; non sono presenti controlli che dimostrino l’unicità degli ID.

  • Comparabilità dei prezzi

    La documentazione distingue euro per Amsterdam e real brasiliani per Rio e propone confronti per città. Alcune query Gold esportate non applicano il filtro di città previsto: questa cautela non è verificata per tutte le visualizzazioni.

Controlli e verifiche

La verifica è statica sugli artefatti esportati. Mancano dataset, run log e output; il codice di silver_reviews non è presente e alcune query Gold richiedono correzioni.

Evidenze e risultati documentati

  • Artefatti sorgente

    Sono disponibili un notebook di ingestion che definisce quattro tabelle Bronze, un notebook che definisce silver_listings e un notebook Gold con viste e query analitiche.

  • Visualizzazioni

    Un export IPYNB conserva le impostazioni di due grafici su conteggi per città e tipologia di alloggio. Non include i dati dei grafici né uno snapshot della dashboard finale.

Limiti e miglioramenti

Non è possibile verificare conteggi, prestazioni o completamento dell’intera pipeline senza dataset, run log e output. Il codice di silver_reviews manca; alcune query Gold dipendono da questa tabella o presentano errori e incoerenze. Il volume Databricks e il catalogo devono essere ricreati per un nuovo run. Prima di diffondere artefatti del gruppo servono verifica dei diritti e consenso dei coautori.

Tecnologie

  • Databricks Community Edition (ambiente originale)
  • PySpark
  • Spark SQL
  • Delta Lake
  • Inside Airbnb (dati sorgente dichiarati)

Fonti e perimetro

Il caso descrive esclusivamente il contenuto dell’export originale recuperato e il ruolo personale dichiarato da Samuel. Le definizioni SQL documentano l’intenzione tecnica; non provano che ogni cella sia stata eseguita con successo. Nessuna metrica o dashboard finale è attribuita al progetto.

Notebook, dataset e dashboard restano privati durante la verifica di dati, licenze, contributi e autorizzazioni del gruppo.