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’architetturaContesto
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
- 01Bronze: 4 tabelle
- 02Silver: listings
- 03Gold: viste e query
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.