Introduzione
I dati sono ovunque. Negli ultimi anni, con il crescente numero di dispositivi connessi e l’espansione del loro utilizzo, il mondo ha iniziato a produrre una quantità enorme di dati che non può più essere gestita con metodi tradizionali.
Secondo Statista, dal 2021 ci sono 23,8 miliardi di dispositivi connessi a internet e il 58% di questi sono dispositivi IoT (dispositivi per la smart home, auto connesse a guida autonoma, dispositivi industriali, ecc.), mentre il restante 42% sono dispositivi non IoT (laptop, smartphone, ecc.). Questo significa che oggi i dati possono provenire da fonti diverse. Alcune di queste sono:
- Attività degli utenti: Qualsiasi azione dell’utente produce dati e perfino le informazioni su dove e con quale frequenza tocchiamo le app che usiamo sono preziose. Ogni dato che contiene questo tipo di informazioni deve essere conservato e distribuito ai data center delle applicazioni.
- Dispositivi dell’“Internet of Things”: Questi dispositivi producono una grande quantità di informazioni, come i dati dei sensori generati in molte località diverse. Tutti questi dati devono essere recuperati e inviati a un data pool per ulteriori analisi.
- Log dei programmi: Le applicazioni moderne sono composte da molti componenti e tutti questi componenti producono log. Questi log vengono inviati a una pipeline di data engineering per ulteriori analisi.
Tutti i diversi dati strutturati che il mondo produce devono essere recapitati ad altri componenti nella struttura software o visualizzati e interpretati da business analyst e data scientist. Tuttavia, questa consegna non è un compito semplice. Esistono alcuni requisiti cruciali su come recapitare i dati:
- I dati devono essere consegnati in una struttura standardizzata
- I dati non devono presentare conflitti
- Potrebbe essere necessario rimuovere le duplicazioni
- I dati devono essere affidabili
- La consegna dei dati deve avvenire con il minimo ritardo
Pertanto, la consegna di queste informazioni è un processo complesso e, se non viene eseguito correttamente, può diventare molto problematico, soprattutto per aziende di medie e grandi dimensioni. È qui che entrano in gioco i data engineer.
In questo articolo imparerai le basi del data engineering, ovvero:
- Che cos’è il data engineering e perché garantire una pipeline dati solida
- La differenza tra data science e data engineering
- Il motivo dietro la crescente popolarità del data engineering
- Le competenze di un buon data engineer
- Come DataCamp può aiutarti a diventare un data engineer
Quali sono le responsabilità di un data engineer?
Semplificando, i data engineer:
- Puntano a rendere i dati facilmente accessibili e disponibili per data scientist e business intelligence engineer (o chiunque lavori con i dati)
- Ottimizzano l’architettura dei sistemi di big data delle aziende
- Progettano e configurano database
- Collaborano con team di business intelligence engineer, data scientist e data analyst
- Esplorano e trasformano i dati Per svolgere tutte queste attività, i data engineer devono anzitutto configurare le pipeline ETL.
Puoi scoprire di più su cosa fa un data engineer nel nostro articolo completo.
Pipeline ETL
Le pipeline ETL ricevono dati complessi a intervalli di tempo regolari e li elaborano con l’obiettivo di archiviarli in una forma utilizzabile. È responsabilità dei data engineer creare e mantenere queste pipeline.
Esistono 3 fasi nelle pipeline ETL:
- Extract Una grande quantità di dati creati dalle fonti viene raccolta in formati diversi.
- Transform Poiché i dati arrivano in formati differenti e da fonti non omogenee, vengono elaborati per diventare il più standardizzati possibile. Questo aumenta la reperibilità e l’usabilità dei dati per i passaggi successivi.
- Load Una volta che i dati sono in un formato reperibile e utilizzabile, vengono di solito archiviati in data warehouse. In questo modo i dati sono sempre disponibili per ulteriori analisi.
Data warehouse
I data warehouse sono il luogo in cui vengono archiviati i dati standardizzati. Sono ottimizzati per filtrare e leggere grandi volumi di dati. Nei data warehouse moderni è possibile archiviare sia dati strutturati che non strutturati, perché è importante conservare anche i dati che non possono essere categorizzati, come foto e video.
Data engineering vs data science
Le differenze tra i ruoli di data engineer e data scientist sono importanti. Da un lato, i data scientist hanno un ruolo fondamentale nelle aziende perché contribuiscono a decisioni guidate dai dati. Tuttavia, il successo dei data scientist è buono solo quanto i dati a loro disposizione.
Dall’altro lato, i data engineer sono coloro che progettano i sistemi che forniscono dati ai data scientist in modo organizzato e coerente. Una volta che i data engineer rendono disponibili le informazioni, i data scientist cercano di trovare pattern nei dati per trarre conclusioni, utilizzando il formato fornito dai data engineer.
Data engineer e data scientist lavorano chiaramente a stretto contatto. Possiamo pensarla come una partita di calcio. Nel calcio, è l’allenatore a sviluppare le strategie che creeranno opportunità da gol ed è l’allenatore a posizionare i giocatori. In questo contesto l’allenatore è il data engineer; il pallone è il dato e il giocatore che segna è il data scientist. Il resto della squadra è l’infrastruttura.
Perché il data engineering è diventato più popolare?
Secondo una ricerca condotta sulla piattaforma Burning Glass Nova, le offerte di lavoro per "data engineer" sono aumentate dell’88,3% nel 2019. Secondo questa ricerca, la domanda di data engineer è in crescita dal 2016. Un’altra informazione interessante è che il numero di posizioni aperte per data engineer è quasi 5 volte superiore a quello per data scientist. Anche lo stipendio di un data engineer è superiore del 20-30% rispetto a quello di un data scientist.
Come detto sopra, i data scientist sono l’anello finale della catena di elaborazione dei dati. Hanno bisogno che i dati vengano processati da un data engineer per poter svolgere il loro lavoro. Con il moltiplicarsi delle fonti e dei tipi di dati, cresce la necessità di un data engineer. Per questo motivo, le aziende hanno iniziato a investire maggiormente nell’estrazione e nella distribuzione dei dati.
Nella Figura 4.1, un grafico a piramide mostra la gerarchia dei bisogni della data science. In questa gerarchia, i compiti assegnati ai data engineer si trovano alla base della piramide, il che spiega quanto siano cruciali per le aziende.
Figure 4.1: La gerarchia dei bisogni della data science.Quali sono le competenze di un data engineer?
Le competenze dei data engineer si intrecciano in genere con quelle dei software engineer e dei data scientist, come mostrato nella Figura 5.1.
Figure 5.1: Ruoli nei dati e set di competenzeIl ruolo di un data engineer è più vicino a quello di un software engineer o a quello di un data scientist?
Le precedenti occupazioni di un gruppo di data engineer sono riportate nella Figura 5.2. Secondo questa figura, oltre il 40% ha un background in software engineering. Questo non solo significa che data engineering e software engineering sono molto più vicini di quanto si potesse pensare, ma anche che oggi i software engineer hanno molte più probabilità di passare al data engineering rispetto ad altri ambiti.
Figure 5.2: Data engineer per ruolo precedente (top 10).In DataCamp riteniamo che le seguenti siano le competenze di un buon data engineer:
- Background in software engineering I data engineer devono avere un background in software engineering, poiché devono affrontare le sfide del data engineering con la loro conoscenza di programmazione orientata agli oggetti, strutture dati e algoritmi. Devono avere esperienza in Python, Scala o Java.
- Strumenti I data engineer devono trovarsi a proprio agio con strumenti di data engineering come Airflow, Apache o Kafka.
- Tecnologie di database Un data engineer dovrebbe conoscere diversi tipi di database.
- Tecnologie cloud I data engineer dovrebbero sentirsi a loro agio nell’utilizzare più piattaforme cloud come Amazon Web Services, Google Cloud Platform e Microsoft Azure. Devono anche avere esperienza in architetture cloud e strumenti DevOps, poiché sono responsabili dell’automazione del flusso dei dati nella parte di sistema.
Come imparare il data engineering
Se vuoi migliorare nel campo del data engineering, puoi iniziare completando i seguenti corsi consigliati di DataCamp. Completando questi corsi e progetti, molto probabilmente diventerai un candidato più adatto per stage o posizioni lavorative nell’ambito del data engineering.
- Introduzione a Python
- Python intermedio
- Introduzione ai database relazionali in SQL
- Introduzione a Scala
- Introduzione al data engineering
- Introduzione ad Airflow in Python
- Concetti cloud di AWS
- Esplorare la rete di trasporti di Londra (progetti Snowflake, Redshift, BigQuery)
- Creare pipeline di data engineering in Python
- Concetti NoSQL
- ETL in Python
- Concetti di streaming
- Streaming di dati con AWS Kinesis e Lambda
Inoltre, la nostra Certificazione Data Engineer è riconosciuta dal settore e ti consente di dimostrare le tue competenze ai datori di lavoro.
Se questo percorso professionale ti interessa, puoi scoprire come diventare un data engineer in un articolo dedicato.

