{"id":1966,"date":"2020-11-26T16:51:14","date_gmt":"2020-11-26T15:51:14","guid":{"rendered":"https:\/\/blog.besharp.it\/?p=1966"},"modified":"2021-03-17T15:30:58","modified_gmt":"2021-03-17T14:30:58","slug":"etl-orchestration-su-aws-con-aws-step-functions","status":"publish","type":"post","link":"https:\/\/blog.besharp.it\/it\/etl-orchestration-su-aws-con-aws-step-functions\/","title":{"rendered":"ETL Orchestration su AWS con AWS Step Functions"},"content":{"rendered":"\n
Negli ultimi anni data engineering, data governance e data analysis sono diventati importanti argomenti di discussione.<\/p>\n\n\n\n
La necessit\u00e0 di effettuare decisioni scaturite dall\u2019analisi dei dati, infatti, ha fatto crescere l\u2019esigenza di collezionare e analizzare dati in diversi modi ed AWS ha dimostrato un particolare interesse in questo campo, sviluppando diversi strumenti per raggiungere questi obiettivi di business.<\/p>\n\n\n\n
Prima di poter permettere a figure come i data analysts di esplorare e visualizzare i dati, \u00e8 necessario eseguire un passaggio cruciale. Questo processo \u00e8 generalmente chiamato ETL<\/strong> (extract<\/strong>, transform<\/strong>, and load<\/strong>) e, solitamente, \u00e8 molto lontano dall\u2019essere semplice da eseguire.<\/p>\n\n\n\n
Chi svolge queste operazioni ha la responsabilit\u00e0 dei seguenti compiti:<\/p>\n\n\n\n
Estrazione<\/strong>: i dati arrivano solitamente da numerose ed eterogenee fonti, come database, web spidering, flussi di dati, dati semi-strutturati eccetera. Data la potenziale diversit\u00e0 delle sorgenti, una validazione dei dati che arrivano nel nostro dominio \u00e8 necessaria. In questo modo si eviter\u00e0 di introdurre informazioni con formati o schemi disomogenei.<\/li>
Trasformazione<\/strong>: dopo l\u2019estrazione dei file validi in uno storage intermedio, un insieme di trasformazioni vengono generalmente applicate sui dati ricevuti. Tipicamente, questo passaggio \u00e8 anche identificato come preparazione dei dati e comporta la rimozione di dati incompleti o inesatti, l\u2019aggregazione con altri dati, la deduplicazione dei record e tutti gli step di normalizzazione e codifica.<\/li>
Caricamento<\/strong>: infine, i dati in precedenza validati e trasformati vengono salvati nei data store persistenti. Questi data store possono essere di diversa natura in base alle necessit\u00e0 di business. Due dei pi\u00f9 comuni tipi di data storage per l’ETL sono i data warehouse e i data lake. I primi sono generalmente utilizzati per salvare dati con uno schema rigoroso in database relazionali come Amazon Redshift, mentre gli altri, molto utilizzati per machine learning, analisi esplorativa, analisi di big data e visualizzazione, sono comunemente formati da dati semi-strutturati. L\u2019abbinamento di Amazon S3 (per lo storage a basso costo) ed Amazon Athena (per le veloci query sui file con tecnologia serverless), permette un eccellente sviluppo di data lake su AWS.<\/li><\/ul>\n\n\n\n