Domande generali
D: Cos'è AWS Glue?
AWS Glue è un servizio di integrazione dati serverless che semplifica l'individuazione, la preparazione e la combinazione dei dati per l'analisi, il machine learning e lo sviluppo di applicazioni. AWS Glue fornisce tutte le funzionalità necessarie per l'integrazione dei dati, così da poter iniziare ad analizzare i dati e utilizzarli in pochi minuti anziché in mesi. AWS Glue fornisce interfacce visive e basate su codice per facilitare la preparazione dei dati. Gli utenti possono trovare e accedere facilmente ai dati utilizzando il catalogo dati di AWS Glue. Gli ingegneri dei dati e gli sviluppatori ETL (extract, transform, and load) possono creare, eseguire e monitorare visivamente i flussi di lavoro ETL con pochi clic in AWS Glue Studio. Gli analisti di dati e i data scientist possono utilizzare AWS Glue DataBrew per arricchire, pulire e normalizzare visivamente i dati senza scrivere alcun codice.
D: Come posso iniziare a usare AWS Glue?
Per iniziare a usare AWS Glue, esegui l'accesso nella Console di gestione AWS e cerca la voce "Glue" nella categoria "Analisi". È possibile anche seguire uno dei tutorial guidati che presentano casi d'uso di esempio di AWS Glue. È inoltre disponibile un codice ETL di esempio nel repository GitHub in AWS Labs.
D: Quali sono i componenti principali di AWS Glue?
AWS Glue è costituito da un catalogo di dati che è il repository di metadati centrale, da un motore ETL in grado di generare automaticamente un codice in Scala o Python, da un sistema di pianificazione flessibile che gestisce la risoluzione delle dipendenze, il monitoraggio dei processi e i nuovi tentativi; include inoltre AWS Glue DataBrew per la pulizia e la normalizzazione dei dati con una interfaccia visiva. Questi componenti insieme permettono di automatizzare buona parte delle onerose attività generiche legate a individuazione, suddivisione in categorie, ottimizzazione, miglioramento della qualità e trasferimento dei dati, così da consentirti di concentrare maggiormente l'attenzione sull'analisi dei dati.
D: In quali casi è indicato utilizzare AWS Glue?
AWS Glue è indicato per scoprire le proprietà dei dati, trasformarli e prepararli per l'analisi. Glue è in grado di rilevare i dati sia strutturati sia parzialmente strutturati memorizzati nei data lake in Amazon S3, nei data warehouse in Amazon Redshift e in diversi tipi di database in AWS. Ne fornisce inoltre una visualizzazione unificata tramite il catalogo dati di Glue, disponibile per ETL, query e reportistica mediante servizi quali Amazon Athena, Amazon EMRe Amazon Redshift Spectrum. Glue genera automaticamente codice in Scala o Python per processi ETL, codice che è possibile personalizzare ulteriormente tramite gli strumenti già in uso. AWS Glue DataBrew può essere utilizzato per pulire e normalizzare visivamente i dati senza scrivere codice.
D: Quali origini dei dati supporta AWS Glue?
AWS Glue offre il supporto nativo per i dati memorizzati in Amazon Aurora, Amazon RDS for MySQL, Amazon RDS per Oracle, Amazon RDS per PostgreSQL, Amazon RDS per SQL Server, Amazon Redshift, DynamoDB e Amazon S3 nonché nei database MySQL, Oracle, Microsoft SQL Server e PostgreSQL nei Virtual Private Cloud (Amazon VPC) in Amazon EC2. AWS Glue supporta anche i flussi di dati provenienti da Amazon MSK, Amazon Kinesis Data Streams e Apache Kafka.
È anche possibile scrivere manualmente codice Scala o Python e importare librerie personalizzate e file Jar nei processi ETL di AWS Glue per accedere alle origini dati di cui AWS Glue non fornisce supporto nativo. Per ulteriori informazioni sull'importazione di librerie personalizzate consulta la documentazione corrispondente.
D: Come sono correlati AWS Glue e AWS Lake Formation?
R: Lake Formation sfrutta un’infrastruttura condivisa con AWS Glue che include i controlli della console, la creazione di codice ETL e il monitoraggio dei processi, un catalogo dati comune e un’architettura serverless. Mentre AWS Glue rimane ancora focalizzato su questo tipo di funzioni, Lake Formation incorpora tutte le funzionalità di AWS Glue E fornisce funzionalità aggiuntive ideate per facilitare la creazione, la sicurezza e la gestione di un data lake. Per maggiori dettagli visita le pagine relative ad AWS Lake Formation.
Catalogo dati di AWS Glue
D: Cos'è il catalogo dati di AWS Glue?
Il catalogo dati di AWS Glue è un repository centralizzato in cui è possibile memorizzare i metadati strutturali e operativi degli asset di dati. Per un determinato set di dati, è possibile memorizzare definizione di tabella e percorso fisico, aggiungere attributi rilevanti e monitorare le modifiche ai dati nel corso del tempo.
Il catalogo dati di AWS Glue è compatibile con Apache Hive Metastore e ne è il sostituto ideale per applicazioni per Big Data in esecuzione in Amazon EMR. Per ulteriori informazioni su come configurare un cluster EMR per l'utilizzo con il catalogo dati di AWS Glue come Apache Hive Metastore, consulta questa pagina.
Il catalogo dati di AWS Glue offre inoltre di default l'integrazione con Amazon Athena, Amazon EMRe Amazon Redshift Spectrum. Una volta aggiunte le definizioni di tabella al catalogo dati di Glue, saranno disponibili per i processi ETL e per le query in Amazon Athena, Amazon EMR e Amazon Redshift Spectrum, consentendo una visuale completa dei dati sui diversi servizi.
D: In che modo è possibile inoltrare i metadati nel catalogo dati di AWS Glue?
AWS Glue offre diversi modi per compilare i metadati nel catalogo dati di AWS Glue. I crawler di Glue scansionano i diversi datastore disponibili per raccogliere automaticamente gli schemi e la struttura delle partizioni, compilando il catalogo dati di Glue con le definizioni di tabella e le statistiche corrispondenti. È anche possibile pianificare l'esecuzione periodica dei crawler, per garantire che i metadati siano sempre aggiornati e sincronizzati con i relativi dati. In alternativa, è possibile aggiungere e aggiornare i dettagli delle tabelle manualmente tramite la console di AWS Glue o richiamando l'API. È anche possibile eseguire istruzioni DDL Hive tramite la console di Amazon Athena oppure un client Hive in un cluster Amazon EMR. Infine, se è già disponibile un Apache Hive Metastore persistente, è possibile importare in blocco i metadati nel catalogo dati di AWS Glue tramite l'apposito script.
D: Cosa sono i crawler di AWS Glue?
I crawler di AWS Glue si collegano a un datastore, ne mettono a confronto i contenuti con un elenco di classificatori ordinato per priorità per estrarne lo schema dei dati e altre statistiche, quindi usa i metadati per compilare il catalogo dati di AWS Glue. I crawler possono essere avviati periodicamente per rilevare nuovi dati disponibili alla scansione o modifiche ai dati esistenti, incluse eventuali modifiche alle definizioni di tabella. Aggiungeranno nuove tabelle, nuove partizioni nelle tabelle esistenti e nuove versioni delle definizioni di tabella. Inoltre, è possibile personalizzarli per classificare tipi di file personalizzati.
D: In che modo è possibile importare dati da un'istanza Apache Hive Metastore esistente nel catalogo dati di AWS Glue?
È sufficiente eseguire un processo ETL che legga i dati da Apache Hive Metastore, li esporti in un formato intermedio in Amazon S3 e li reimporti nel catalogo dati di AWS Glue.
D: È necessario mantenere un Apache Hive Metastore anche se i metadati vengono memorizzati nel catalogo dati di AWS Glue?
Il catalogo dati di AWS Glue è compatibile con Apache Hive Metastore. È possibile utilizzare l'endpoint del catalogo dati di Glue come destinazione, per sostituire Apache Hive Metastore. Per ottenere ulteriori informazioni su come configurare un cluster ai fini dell'utilizzo del catalogo dati di AWS Glue come Apache Hive Metastore, consulta la documentazione corrispondente qui.
D: Se Amazon Athena o Amazon Redshift Spectrum sono in uso e sono disponibili tabelle nel catalogo dati interno di Amazon Athena, in che modo è possibile iniziare a usare il catalogo dati di AWS Glue come repository comune dei metadati?
Prima di poter usare il catalogo dati di AWS Glue come repository comune dei metadati tra Amazon Athena, Amazon Redshift Spectrum e AWS Glue, è necessario aggiornare il catalogo dati di Amazon Athena a catalogo dati di AWS Glue. Consulta questa pagina per saperne di più sulla procedura di aggiornamento.
D: Quali servizi di analisi utilizzano il catalogo dati di AWS Glue?
I metadati memorizzati nel catalogo dati di AWS Glue possono essere consultati tramite Glue ETL, Amazon Athena, Amazon EMR, Amazon Redshift Spectrum e servizi di terzi.
Registro degli schemi di AWS Glue
D: Che cos’è il registro degli schemi di AWS Glue?
Il registro degli schemi di AWS Glue, una funzionalità serverless di AWS Glue, consente di convalidare e controllare l'evoluzione dei dati di streaming tramite schemi di Apache Avro registrati senza costi aggiuntivi. Tramite serializzatori e deserializzatori con licenza Apache, il registro degli schemi si integra con le applicazioni Java sviluppate per Apache Kafka, Amazon Managed Streaming for Apache Kafka (MSK), Amazon Kinesis Data Streams, Apache Flink, Amazon Kinesis Data Analytics for Apache Flink e AWS Lambda. Quando le applicazioni di streaming di dati sono integrate con il registro degli schemi, è possibile migliorare la qualità dei dati e la protezione da modifiche impreviste grazie a controlli di compatibilità che gestiscono l'evoluzione degli schemi. Inoltre, potrai creare o aggiornare le tabelle e le partizioni di AWS Glue utilizzando gli schemi Apache Avro memorizzati all'interno del registro.
D: Qual è il vantaggio di utilizzare il registro degli schemi di AWS Glue?
Con il registro degli schemi di AWS Glue, è possibile:
- Convalidare gli schemi. Quando le applicazioni di streaming dei dati sono integrate con il registro degli schemi di AWS Glue, gli schemi utilizzati per la produzione dei dati vengono convalidati rispetto agli schemi all’interno di un registro centrale, consentendo il controllo generale della qualità dei dati.
- Salvaguardare l'evoluzione degli schemi. Puoi impostare regole su come gli schemi possono o non possono evolvere utilizzando una delle otto modalità di compatibilità.
- Migliorare la qualità dei dati. I serializzatori convalidano gli schemi utilizzati dai produttori di dati rispetto a quelli memorizzati nel registro, migliorando in questo modo la qualità dei dati all’origine e riducendo i problemi di downstream provenienti da deviazioni inattese degli schemi.
- Risparmiare sui costi. I serializzatori convertono i dati in formato binario e possono comprimerli prima della consegna, riducendo i costi di trasferimento e archiviazione dei dati.
- Migliorare l'efficienza di elaborazione. In molti casi, un flusso di dati contiene record di schemi differenti. Il registro degli schemi consente alle applicazioni che leggono dai flussi di dati di elaborare selettivamente ogni record in base allo schema senza doverne analizzare il contenuto, il che migliora l’efficienza dell’elaborazione.
D: Quali formato dati, lingua del client e integrazioni sono supportati dal registro dello schema di AWS Glue?
Il registro dello schema supporta i formati dati Apache Avro e JSON Schema e le applicazioni client Java. Abbiamo in programma di continuare a espandere il supporto per altri formati di dati e client non Java. Il registro degli schemi si integra con le applicazioni Java sviluppate per Apache Kafka, Amazon Managed Streaming for Apache Kafka (MSK), Amazon Kinesis Data Streams, Apache Flink, Amazon Kinesis Data Analytics for Apache Flink e AWS Lambda.
D: Che tipi di regole di evoluzione sono supportati dal registro degli schemi di AWS Glue?
Per la gestione dell’evoluzione degli schemi sono disponibili le seguenti modalità di compatibilità: Indietro, Indietro tutto, Avanti, Avanti tutto, Completo, Completo tutto, Nessuno e Disabilitato. Consulta la documentazione per l’utente del registro degli schemi per maggiori informazioni sulle regole di compatibilità.
D: In che modo il registro degli schemi di AWS Glue mantiene l'alta disponibilità per le mie applicazioni?
Il piano di controllo e archiviazione del registro degli schemi è progettato per l’alta disponibilità ed è eseguito dal contratto sul livello di servizio (SLA) di AWS Glue; i serializzatori e i deserializzatori sfruttare le migliori tecniche di caching per aumentare al massimo la disponibilità degli schemi all'interno dei client.
D: Il registro degli schemi di AWS Glue è open source?
L’archivio del registro degli schemi di AWS Glue è un servizio AWS mentre i serializzatori e i deserializzatori sono componenti open source concessi in licenza da Apache.
D: Il registro degli schemi di AWS Glue fornisce la crittografia per i dati su disco e in transito?
Sì, i tuoi client comunicano con il registro degli schemi tramite chiamate API che codificano i dati in transito tramite la crittografia TLS su HTTPS. Gli schemi memorizzati nel registro degli schemi vengono sempre codificati su disco tramite una chiave KMS gestita dal servizio.
D: Come posso connettermi privatamente al registro degli schemi di AWS Glue?
Per connettere il VPC dei tuoi produttori di dati a AWS Glue puoi utilizzare AWS PrivateLink definendo un endpoint VPC di interfaccia per AWS Glue. Quando utilizzi un endpoint VPC di interfaccia, la comunicazione tra il cloud privato virtuale e AWS Glue viene condotta interamente nell’ambito delle rete AWS. Per ulteriori informazioni consulta la documentazione per l’utente.
D: Come posso monitorare l’uso del mio registro degli schemi di AWS Glue?
I parametri di AWS CloudWatch sono disponibili come parte del piano gratuito di CloudWatch. Puoi accedere a tali parametri dalla console CloudWatch. Consulta la documentazione del registro degli schemi di AWS Glue per maggiori informazioni.
D: Il registro degli schemi di AWS Glue fornisce strumenti per la gestione dell’autorizzazione dell’utente?
Sì, il registro degli schemi supporta sia le autorizzazioni a livello di risorsa che le policy IAM basate sulle identità.
D: Come posso effettuare la migrazione da un registro degli schemi esistente al registro degli schemi di AWS Glue?
Le operazioni per migrare da un registro degli schemi di terzi al registro degli schemi di AWS Glue sono disponibili nella documentazione per l’utente.
Estrazione, trasformazione e caricamento (ETL)
D: AWS Glue ha un'interfaccia senza codice per l'ETL visivo?
Sì. AWS Glue Studio offre un'interfaccia grafica per compilare processi Glue che elaborino i tuoi dati. Dopo avere definito il flusso delle tue origini dati, le trasformazioni e le destinazioni nell'interfaccia visiva, AWS Glue Studio genererà il codice Apache Spark per tuo conto.
D: Con quali sintassi di programmazione è possibile scrivere il codice ETL per AWS Glue?
È possibile utilizzare Scala o Python.
D: In che modo è possibile personalizzare il codice ETL generato da AWS Glue?
Il sistema di raccomandazione di script ETL di AWS Glue genera codice Scala o Python. Sfrutta la libreria ETL personalizzata di Glue per semplificare l'accesso alle origini dati e per gestire l'esecuzione dei processi. Per ulteriori dettagli sulla libreria, consulta la documentazione corrispondente. È possibile compilare codice ETL utilizzando la libreria personalizzata di AWS Glue o scrivere codice in Scala o Python tramite l'editor di script nella console di AWS Glue, scaricando il codice generato automaticamente e modificandolo in un ambiente IDE. È inoltre possibile iniziare con uno dei tanti esempi in hosting nel repository GitHub e personalizzarne il codice.
D: È possibile importare librerie personalizzate insieme agli script ETL?
Sì. È possibile importare librerie Python personalizzate e file Jar in un processo ETL di AWS Glue. Clicca qui per consultare la documentazione corrispondente e ottenere ulteriori informazioni.
D: È possibile usare codici personalizzati?
Sì. È possibile compilare codice personalizzato utilizzando la libreria ETL di AWS Glue, oppure scrivere codice Scala o Python e caricarlo in un processo ETL di Glue. Clicca qui per consultare la documentazione corrispondente e ottenere ulteriori informazioni.
D: In che modo è possibile sviluppare un codice ETL personalizzato in un ambiente IDE?
È possibile creare e connettere endpoint di sviluppo che offrano modalità differenti per connettere i notebook e gli ambienti IDE.
D: In che modo è possibile creare un flusso di lavoro ETL end-to-end utilizzando diversi processi in AWS Glue?
Oltre alla libreria ETL e al codice che genera automaticamente, AWS Glue fornisce un set di caratteristiche di orchestrazione affidabili che permettono di gestire le dipendenze tra diversi processi per creare flussi di lavoro ETL end-to-end. I processi ETL di AWS Glue possono essere programmati o attivati in seguito al completamento di un processo. È possibile attivare diversi processi in parallelo o in sequenza collegandoli al completamento di un altro processo. È inoltre possibile attivare uno o più processi di Glue tramite un'origine esterna, ad esempio una funzione AWS Lambda.
D: In che modo AWS Glue monitora le dipendenze?
AWS Glue gestisce le dipendenze tra due o più processi o le dipendenze di eventi esterni tramite trigger. I trigger possono essere collegati a uno o più processi e richiamare un o più processi. Inoltre, i trigger possono essere programmati in modo da richiamare periodicamente determinati processi, attivati on demand oppure al completamento di un processo.
D: In che modo AWS Glue gestisce gli errori ETL?
AWS Glue monitora i parametri di evento e gli errori dei processi e inoltra tutte le notifiche in Amazon CloudWatch. Con Amazon CloudWatch, è possibile configurare una serie di operazioni da eseguire in seguito alla ricezione di determinate notifiche di AWS Glue. Ad esempio, una notifica di errore o di operazione completata generata da Glue può agire da trigger per una funzione AWS Lambda. Glue dispone inoltre di un comportamento predefinito che provvederà a ripetere tre volte le operazioni interrotte da errori prima di inviare una notifica di errore.
D: È possibile eseguire processi ETL esistenti con AWS Glue?
Sì. È possibile eseguire codice Scala o Python esistente in AWS Glue. Sarà sufficiente caricare il codice in Amazon S3 e creare uno o più processi che lo utilizzino. Lo stesso codice può essere riutilizzato su più processi indicando il medesimo percorso in Amazon S3 per ciascuno di essi.
D: In che modo è possibile utilizzare AWS Glue per eseguire operazioni ETL su flussi di dati?
AWS Glue supporta ETL su flussi provenienti da Amazon Kinesis Data Streams, Apache Kafka e Amazon MSK. Aggiungi il flusso al catalogo dati di Glue e sceglilo come origine dati durante la fase di configurazione dell’attività AWS Glue.
D: È necessario utilizzare sia il catalogo dati di AWS Glue Data Catalog sia i processi ETL di Glue per avvalersi del servizio?
No. Anche se consigliamo l'utilizzo sia del catalogo dati di AWS Glue sia dei processi ETL di Glue per ottenere un'esperienza ETL completa, è possibile utilizzare ciascuna di esse in modo indipendente.
D: Quando è consigliato usare AWS Glue Streaming e quando Amazon Kinesis Data Analytics?
Sia AWS Glue che Amazon Kinesis Data Analytics possono consentire di elaborare i flussi di dati. AWS Glue è consigliato quando i tuoi casi d’uso sono principalmente ETL e quando desideri eseguire attività su una piattaforma serverless basata su Apache Spark. Amazon Kinesis Data Analytics è consigliato quando i tuoi casi d’uso sono principalmente di analisi e quando desideri eseguire attività su una piattaforma serverless basata su Apache Flink.
Lo streaming ETL in AWS Glue consente l’ETL avanzato sui flussi di dati utilizzando la stessa piattaforma serverless a consumo che utilizzi attualmente per le tue attività in batch. AWS Glue genera codice ETL personalizzabile per preparare i tuoi dati al volo ed è dotato di una funzionalità incorporata per elaborare i flussi di dati semistrutturati o caratterizzati da uno schema in evoluzione. Utilizza Glue per applicarne sia le trasformazioni incorporate che quelle native di Spark ai flussi di dati e caricale nel tuo data lake o data warehouse.
Amazon Kinesis Data Analytics ti consente di creare sofisticate applicazioni di streaming per analizzare i flussi di dati in tempo reale. Fornisce un runtime Apache Flink serverless che si ridimensiona automaticamente senza server e salva lo stato dell’applicazione in modo duraturo. Utilizza Amazon Kinesis Data Analytics per l’analisi in tempo reale e una più generale elaborazione dei flussi di dati.
D: Quando è consigliato usare AWS Glue e quando Amazon Kinesis Data Firehose?
Sia AWS Glue che Amazon Kinesis Data Firehose possono essere utilizzati per lo streaming ETL. AWS Glue è consigliato per processi ETL complessi, come l’unione di flussi e il partizionamento dell’output in Amazon S3 in base al contenuto dei dati. Amazon Kinesis Data Firehose è consigliato quando i tuoi casi d’uso interessano specificamente la distribuzione e la preparazione dei dati da elaborare al termine della distribuzione.
Lo streaming ETL in AWS Glue consente l’ETL avanzato sui flussi di dati utilizzando la stessa piattaforma serverless a consumo che utilizzi attualmente per le tue attività in batch. AWS Glue genera codice ETL personalizzabile per preparare i tuoi dati al volo ed è dotato di una funzionalità incorporata per elaborare i flussi di dati semistrutturati o caratterizzati da uno schema in evoluzione. Utilizza Glue per applicare trasformazioni complesse ai flussi di dati, arricchire i record con informazioni provenienti da altri flussi e datastore persistenti e carica quindi i record nel tuo data lake o data warehouse.
Lo streaming ETL in Amazon Kinesis Data Firehose ti permette di acquisire, trasformare e distribuire facilmente flussi di dati. Amazon Kinesis Data Firehose assicura funzionalità ETL tra cui la trasformazione dati serverless tramite AWS Lambda e la conversione del formato da JSON a Parquet. Comprende le funzionalità ETL progettate per facilitare l'elaborazione dei dati dopo la distribuzione ma non include le funzionalità ETL avanzate supportate da AWS Glue.
Deduplicazione dei dati
D: Quali problemi posso risolvere tramite la funzione di trasformazione ML di FindMatches?
FindMatches viene di norma utilizzato per risolvere problemi di collegamento delle voci e di deduplicazione dei dati. La deduplicazione è necessaria quando provi a identificare voci di un database che sono “identiche” a livello concettuale ma per le quali disponi di voci separate. Tale problema è irrilevante nel caso in cui sia possibile identificare doppioni di voci tramite una chiave univoca (per esempio, laddove determinati prodotti possano essere identificati singolarmente grazie a un codice UPC) ma può rivelarsi alquanto fastidioso in presenza di “corrispondenze ambigue”.
In apparenza il collegamento delle voci presenta essenzialmente lo stesso problema della deduplicazione dei dati, eppure il termine identifica generalmente l’esecuzione di un “accoppiamento ambiguo” tra due database che non condividono una chiave univoca rispetto alla deduplicazione di un singolo database. Per esempio, consideriamo il problema derivante dall’accoppiamento di un grande database di clienti a un piccolo database di noti truffatori. FindMatches può essere utilizzato allo stesso modo per i problemi di collegamento delle voci e di deduplicazione.
Ad esempio, FindMatches in AWS Glue dispone di una funzione di trasformazione ML che ti permette di risolvere i seguenti problemi:
Collegare voci di pazienti tra ospedali così da consentire al personale medico di disporre di più informazioni di base e di trattare i vari casi utilizzando FindMatches su database separati che contengano campi comuni tra cui nome, data di nascita, indirizzo, numero di telefono ecc.
Deduplicare un database di film contenente colonne come “titolo”, “sinossi”, “anno di uscita”, “durata” e “cast”. Per esempio, uno stesso film potrebbe essere identificato a vario titolo come “Star Wars”, “Star Wars: una nuova speranza”, e “Star Wars: Episodio IV - Una nuova speranza (edizione speciale)”.
Raggruppare insieme in modo automatico tutti prodotti correlati in vetrina identificando gli elementi equivalenti all’interno di un catalogo di articoli di abbigliamento, laddove “equivalente” definisce l’uguaglianza dei prodotti senza tener conto di differenze di taglia e colori. Ad esempio: “Jeans Levi 501, taglia 34x34, colore blu” è definito in modo da avere una perfetta corrispondenza con “Jeans Levi 501 Jeans, taglia 32x31, colore nero”.
D: In che modo AWS Glue deduplica i dati?
La funzione di trasformazione ML di FindMatches in AWS Glue ti consente di individuare e collegare voci che fanno riferimento alla medesima entità ma non condividono un identificatore affidabile. Prima di FindMatches gli sviluppatori erano soliti risolvere i problemi di corrispondenza dei dati in modo deterministico, scrivendo infinite serie di regole realizzate “a mano”. Dietro le quinte, FindMatches sfrutta algoritmi di machine learning per capire come accoppiare le voci in base a ogni singolo criterio aziendale degli sviluppatori. FindMatches identifica dapprima le voci che il cliente desidera etichettare distinguendole in base all’effettiva corrispondenza e successivamente sfrutta il machine learning per creare una trasformazione ML. I clienti possono eseguire tale trasformazione sui loro database per individuare le voci corrispondenti o in alternativa richiedere a FindMatches di reperire ulteriori voci da etichettare in modo da rendere ancora più accurata la trasformazione ML.
D: Cosa sono le trasformazioni ML?
Le trasformazioni ML forniscono una destinazione per la creazione e la gestione di trasformazioni sottoposte a machine learning. Una volta create e addestrate, le trasformazioni ML possono essere eseguite in comuni script AWS Glue. I clienti selezionano uno specifico algoritmo (ad esempio, il FindMatches ML Transform) e inseriscono dataset ed esempi di addestramento, nonché i parametri di configurazione necessari a tale algoritmo. AWS Glue utilizzata gli input inseriti per elaborare una trasformazione ML che possa essere incorporata nel comune flusso di lavoro di un processo ETL.
D: Come funzionano le trasformazioni ML?
AWS Glue comprende algoritmi di trasformazione dei dataset basati sul machine learning che possono essere utilizzati dai clienti per creare trasformazioni ML personalizzate. Sono incluse la deduplicazione delle voci e l’individuazione delle corrispondenze.
I clienti iniziano visualizzando la scheda delle trasformazioni ML nella console (o utilizzando gli endpoint di servizio per le trasformazioni ML o accedendo all’addestramento delle stesse tramite l’interfaccia a riga di comando) per creare il primo modello di trasformazione ML personalizzato. La scheda della trasformazioni ML fornisce una panoramica semplice e intuitiva per la gestione delle trasformazioni degli utenti. In termini di flusso di lavoro le trasformazioni ML hanno requisiti distinti dalle altre trasformazioni, inclusa la necessità di addestramento separato, calibrazione dei parametri e flussi di lavoro di esecuzione, l’esigenza di valutare parametri qualitativi delle trasformazioni generate e il bisogno di gestire e raccogliere ulteriori etichette di tipo ground truth per l’addestramento e l’apprendimento attivo.
Per creare una trasformazione ML tramite la console, i clienti devono dapprima selezionare il tipo di trasformazione (ad esempio “deduplicazione voci” o “accoppiamento voci”) e fornire le corrette origini dati individuate in precedenza nel catalogo dati. A seconda della trasformazione, i clienti potrebbero dover inserire i dati delle etichette di tipo ground truth per l’addestramento oppure parametri aggiuntivi. I clienti possono monitorare lo stato dei loro processi di addestramento e visualizzare i parametri qualitativi di ciascuna trasformazione. (I parametri qualitativi sono segnalati utilizzando un set hold-out dei dati delle etichette forniti dal cliente.)
Una volta raggiunto il livello di rendimento desiderato, i clienti possono promuovere i modelli di trasformazione ML per l’utilizzo in produzione. Successivamente, le trasformazioni ML possono essere utilizzate durante i flussi di lavoro ETL sia codice autogenerato dal servizio sia in script definiti dall’utente inoltrati con altri processi, analogamente alle trasformazioni preimpostate offerte nelle altre librerie AWS Glue.
D: È disponibile una presentazione sull’utilizzo di AWS Glue (e AWS Lake Formation) ove si spieghi come individuare corrispondenze e deduplicare voci?
R: Sì. Una registrazione completa dell'AWS Online Tech Talk "Accoppiamenti ambigui e deduplicazione dei dati con la funzione di trasformazione ML per AWS Lake Formation" è disponibile qui.
AWS Glue DataBrew
D: Che cos'è AWS Glue?
AWS Glue DataBrew è uno strumento di preparazione visiva dei dati che facilita per analisti di dati e data scientist il compito di preparare i dati con un'interfaccia grafica interattiva senza bisogno di scrivere codice. Con Glue DataBrew, puoi facilmente visualizzare, pulire e normalizzare terabyte, se non petabyte di dati direttamente dai data lake, data warehouse e database, compresi Amazon S3, Amazon Redshift, Amazon Aurora e Amazon RDS. Ora AWS Glue DataBrew è disponibile al pubblico nelle regioni Stati Uniti orientali (Virginia settentrionale), Stati Uniti orientali (Ohio), Stati Uniti occidentali (Oregon), UE (Irlanda), UE (Francoforte), Asia Pacifico (Sydney) e Asia Pacifico (Tokyo).
D: Chi può utilizzare AWS Glue DataBrew?
AWS Glue DataBrew è progettato per gli utenti che hanno la necessità di pulire e normalizzare i dati a fini di analisi e machine learning. Gli utenti principali sono analisti di dati e data scientist. Tra gli analisti di dati, esempi di ruoli professionali sono analisi di business intelligence, analisti di operazioni, analisti di market intelligence, analisti legali, analisti finanziari, economisti, analisti quantistici o commercialisti. Tra i data scientist, esempi di ruoli professionali sono scienziati dei materiali, scienziati bioanalitici e ricercatori scientifici.
D: Quali tipi di trasformazioni sono supportati in AWS Glue DataBrew?
Puoi scegliere tra oltre 250 trasformazioni integrate per combinare, focalizzare e trasporre i dati senza scrivere codice. Inoltre, AWS Glue DataBrew consiglia automaticamente trasformazioni come filtro delle anomalie, correzione degli elementi non validi, classificazione errata o dati duplicati, normalizzazione dei dati a valori di data e ora standard oppure generazione di aggregati a fini di analisi. Per le trasformazioni complesse, come la conversione di parole in una base comune o una parola radice, Glue DataBrew fornisce trasformazioni che utilizzano tecniche avanzate di machine learning come l'elaborazione di linguaggio naturale (NLP). È possibile raggruppare diverse trasformazioni, salvarle come ricette e applicare direttamente tali ricette ai nuovi dati in entrata.
D: Quali formati di file supporta AWS Glue DataBrew?
Per i dati di input, AWS Glue DataBrew supporta i formati di file di uso comune, come valori separati dalla virgola (.csv), JSON e JSON nidificato, Apache Parquet e Apache Parquet nidificato, nonché i fogli di lavoro Excel. Per i dati di output, AWS Glue DataBrew supporta valori separati dalla virgola (.csv), JSON, Apache Parquet, Apache Avro, Apache ORC e XML.
D: È possibile provare AWS Glue DataBrew gratuitamente?
Sì. Crea un account con il piano gratuito AWS, visita la console di gestione AWS Glue DataBrew e inizia subito gratuitamente. Se è la prima volta che utilizzi Glue DataBrew, le prime 40 sessioni interattive sono gratuite. Per saperne di più, visita la pagina dei prezzi di AWS Glue.
D: Devo utilizzare AWS Glue Data Catalog o AWS Lake Formation per poter utilizzare AWS Glue DataBrew?
No. Puoi utilizzare AWS Glue DataBrew senza utilizzare uno tra AWS Glue Data Catalog o AWS Lake Formation. In ogni caso, utilizzando il catalogo dati AWS Glue o AWS Lake Formation, gli utenti di DataBrew possono scegliere i data set disponibili per loro dal loro catalogo dati centralizzato.
D: Posso registrare tutte le modifiche apportate ai miei dati?
Sì. Puoi registrare visivamente tutte le modifiche apportate ai tuoi dati nella console di gestione AWS Glue DataBrew. Grazie alla consultazione visiva, è facile monitorare le modifiche e le relazioni apportate ai set di dati, ai progetti, alle ricette e a tutti processi collegati. Inoltre, Glue DataBrew conserva tutte le attività dell'account sotto forma di log in AWS CloudTrail.
Processi AWS Glue Flex
D: Cos’è Glue Flex?
AWS Glue Flex è una classe di processi di esecuzione flessibile che ti consente di ridurre i costi dei carichi di lavoro di integrazione dei dati non urgenti (per esempio, processi di pre-produzione, test, caricamento di dati, ecc.) fino al 35%. Glue ha due classi di esecuzione dei processi: standard e flessibile. La classe di esecuzione standard è ideale per carichi di lavoro sensibili al fattore tempo, che richiedono un avvio rapido del processo e risorse dedicate. La classe di esecuzione flessibile è adatta a processi non urgenti, le cui tempistiche di inizio e di completamento possono variare. AWS Glue Flex può ridurre i costi dei carichi di lavoro non sensibili al fattore tempo (per esempio, processi ETL in batch notturni, processi nel fine settimana, processi di importazione dei dati in blocco una tantum, ecc.).
D: Quali sono le differenze tra le classi di esecuzione standard e flessibili di AWS Glue?
Le classi di esecuzione standard e flessibili di AWS Glue hanno proprietà di esecuzione diverse. Con la classe di esecuzione standard, i processi vengono avviati immediatamente e dispongono di risorse dedicate durante l’esecuzione. I processi della classe di esecuzione flessibile vengono eseguiti su risorse di calcolo non dedicate in AWS, che possono essere recuperate durante l’esecuzione del processo, e hanno tempi di avvio e completamento variabili. Di conseguenza, le due classi di esecuzione sono adatte a carichi di lavoro diversi. La classe di esecuzione standard è ideale per carichi di lavoro sensibili al fattore tempo, che richiedono un avvio rapido del processo e risorse dedicate. La classe di esecuzione flessibile è meno costosa e adatta a processi non urgenti, in cui si può accettare una variazione nei tempi di avvio e di completamento.
D: Come si iniziano a utilizzare i processi della classe di esecuzione flessibile AWS Glue Flex?
La classe di esecuzione flessibile è disponibile per i processi Glue Spark. Per utilizzare la classe di esecuzione flessibile, è sufficiente modificare l’impostazione predefinita del parametro della classe di esecuzione da “STANDARD” a “FLEX”. È possibile farlo tramite Glue Studio o CLI. Consulta la documentazione per l’utente di AWS Glue per maggiori informazioni.
D: Quali tipologie di integrazione dei dati e di carichi di lavoro ETL non sono adatti alla classe di esecuzione flessibile AWS Glue Flex?
La classe di esecuzione flessibile AWS Glue Flex non è adatta a carichi di lavoro sensibili al fattore tempo, che richiedono tempi di avvio ed esecuzione coerenti, o per processi che devono completare l’esecuzione entro un orario specifico. AWS Glue Flex è sconsigliato anche per i carichi di lavoro di integrazione dei dati di lunga durata, perché è più probabile che vengano interrotti, con conseguenti annullamenti frequenti.
D: Con quale frequenza devo aspettarmi che i processi eseguiti con la classe di esecuzione flessibile AWS Glue Flex vengano interrotti?
La disponibilità e la frequenza di interruzione di AWS Glue Flex dipendono da diversi fattori, tra cui la regione e la zona di disponibilità (AZ), l’orario e il giorno della settimana. La disponibilità delle risorse determina l’avvio dei processi Glue Flex. Sebbene il tasso di interruzione possa essere compreso tra il 5 e il 10% durante le ore di punta, ci aspettiamo che il tasso di interruzione dei processi Glue Flex sia intorno al 5% e che il tasso di fallimento dei processi Glue Flex dovuto all’interruzione sia inferiore al 5%.
D: La classe di esecuzione flessibile è sempre disponibile?
Sì, puoi sempre scegliere la classe di esecuzione flessibile per eseguire i processi Glue. Tuttavia, la capacità di AWS Glue di eseguire questi processi si basa sulla disponibilità della capacità AWS non dedicata e sul numero di worker selezionati per il processo. È possibile che, nei momenti di picco, Glue non disponga di una capacità adeguata per il tuo processo. In tal caso, il processo non verrà avviato. Puoi specificare un valore di timeout dopo il quale Glue annullerà il processo. Più lungo è il valore di timeout, maggiore è la possibilità che il processo venga eseguito.
D: Cosa succede se un processo AWS Glue Flex viene interrotto durante l’esecuzione?
Se un processo Glue Flex viene interrotto perché non ci sono più worker sufficienti per completarlo in base al numero di worker specificato, il processo fallirà. Prima di annullarlo, Glue riproverà a eseguire i processi falliti fino al numero massimo di tentativi specificato nella definizione del processo. Non dovresti utilizzare la classe di esecuzione flessibile per i processi che hanno una dipendenza downstream da altri sistemi o processi.
D: Quali tipologie di processi AWS Glue sono supportati dalla classe di esecuzione flessibile?
La classe di esecuzione flessibile supporta solo processi Glue Spark. Pythonshell e lo streaming non sono supportati. AWS Glue Flex è supportato da Glue, versione 3.0 e successive. La classe di esecuzione flessibile non supporta attualmente i carichi di lavoro in streaming.
Integrazioni di prodotti AWS
D: In quali casi è indicato utilizzare AWS Glue e in quali AWS Data Pipeline?
AWS Glue offre un servizio ETL gestito eseguibile in un ambiente Apache Spark serverless. In questo modo è possibile concentrare l'attenzione sui processi ETL senza dover configurare o gestire le risorse di elaborazione. L'approccio di AWS Glue assegna la massima priorità ai dati e permette di concentrare l'attenzione sulle loro caratteristiche e su come gestirli per conferire loro una forma da cui sia possibile derivare informazioni strategiche. Offre inoltre un catalogo dati integrato che rende i metadati disponibili per le operazioni ETL e per le query inoltrate con Amazon Athena e Amazon Redshift Spectrum.
AWS Data Pipeline fornisce un servizio di orchestrazione gestito che offre una maggiore flessibilità in termini di ambiente di esecuzione, di accesso e controllo sulle risorse di elaborazione in cui eseguire il codice e di codice di elaborazione dei dati. AWS Data Pipeline lancia le risorse di elaborazione nell'account, consentendo l'accesso diretto alle istanze Amazon EC2 o ai cluster Amazon EMR.
Inoltre, i processi ETL di AWS Glue sono basati su Scala o Python. Se il caso d'uso richiede l'impiego di un motore diverso da Apache Spark, oppure se desideri eseguire un set eterogeneo di processi su diversi motori, ad esempio Hive e Pig, AWS Data Pipeline è la scelta migliore.
D: In quali casi è indicato utilizzare AWS Glue e in quali altri Amazon EMR?
AWS Glue sfrutta un ambiente Apache Spark per offrire un ambiente di esecuzione a scalabilità orizzontale per i processi di trasformazione dei dati. AWS Glue ricava, elabora e monitora i processi ETL per semplificare le procedure di creazione e di manutenzione dei processi. Amazon EMR fornisce accesso diretto all'ambiente Hadoop e offre un livello di accesso inferiore e una maggiore flessibilità nell'utilizzo di altri strumenti oltre a Spark.
D: In quali casi è più indicato utilizzare AWS Glue o AWS Database Migration Service?
AWS Database Migration Service (DMS) aiuta a migrare database in AWS in modo semplice e sicuro. Per i casi d'uso che richiedono una migrazione di database dall'ambiente locale in AWS oppure una replica di database tra origini in locale e in AWS, il servizio più indicato è AWS DMS. Una volta caricati i dati in AWS, AWS Glue può essere utilizzato per spostare, combinare, replicare e trasformare i dati dall'origine dati in un altro database o data warehouse, come ad esempio Amazon Redshift.
D: In quali casi è più indicato utilizzare AWS Glue rispetto ad AWS Batch?
AWS Batch consente di eseguire in AWS ogni tipo di processo di elaborazione in batch in modo semplice ed efficiente. AWS Batch crea e gestisce le risorse di elaborazione nell'account AWS, fornendo controllo e visibilità completi sulle risorse utilizzate. AWS Glue è un servizio ETL completamente gestito che offre un ambiente Apache Spark serverless per l'esecuzione di processi ETL. Nei casi d'uso che richiedono estrazione, trasformazione e caricamento, il servizio consigliato è AWS Glue. Per tutti gli altri casi d'uso di elaborazione in batch, inclusi alcuni tipi di processi ETL, è più indicato AWS Batch.
Prezzi e fatturazione
D: Come viene fatturato l'utilizzo di AWS Glue?
Per il catalogo dati di AWS Glue è previsto un piano di utilizzo gratuito, oltre il quale viene addebitata una tariffa mensile per la memorizzazione e l'accesso ai metadati. È prevista una tariffa a tempo, fatturata al secondo, per l'esecuzione dei crawler, con un addebito minimo corrispondente a 10 minuti. Se scegli di utilizzare un endpoint di sviluppo per sviluppare in modo interattivo il codice ETL, sarà addebitata una tariffa a tempo, fatturata al secondo, per la durata del provisioning dell'endpoint, con un addebito minimo corrispondente a 10 minuti. Inoltre, è prevista una tariffa oraria, al secondo, per il processo ETL con un addebito minimo di 1 minuto o 10 minuti in base alla versione di Glue scelta. Per ulteriori informazioni consulta la pagina dei prezzi.
D: Quando inizia e quando finisce il periodo di fatturazione di un processo AWS Glue?
La fatturazione inizia appena il processo viene pianificato e termina al suo completamento. Con AWS Glue, vengono addebitati solo i costi relativi alla durata di esecuzione del processo e non ai tempi legati a provisioning e chiusura dell'ambiente.
Sicurezza e disponibilità
D: In che modo AWS Glue protegge i miei dati?
È prevista la crittografia lato server dei dati inattivi e la crittografia SSL per i dati in transito.
D: Quali sono i limiti del servizio associati ad AWS Glue?
Consulta la documentazione corrispondente per ulteriori informazioni sulle restrizioni dei servizi.
D: In quali regioni è disponibile AWS Glue?
Per ulteriori informazioni sulla disponibilità del servizio AWS Glue, consulta la sezione relativa alla tabella delle regioni AWS.
D: Quante unità di elaborazione dati o DPU (Data Processing Unit) sono allocate agli endpoint di sviluppo?
A ogni endpoint di sviluppo vengono assegnate di default 5 DPU. Un endpoint di sviluppo può essere configurato con un minimo di 2 DPU e un massimo di 5 DPU.
D: In che modo è possibile ricalibrare dimensioni e prestazioni di un processo ETL di AWS Glue?
È sufficiente specificare il numero di DPU che desideri allocare a ciascun processo ETL. Un processo ETL di Glue richiede almeno 2 DPU. Di default, AWS Glue alloca tuttavia 10 DPU per ogni processo ETL.
D: In che modo è possibile monitorare l'esecuzione dei processi di AWS Glue?
AWS Glue fornisce lo stato di ciascun processo e inoltra le notifiche degli eventi ad Amazon CloudWatch. È possibile impostare le notifiche SNS tramite le azioni di CloudWatch per essere informati sui processi completati o interrotti da errori.
Contratto sul livello di servizio (SLA)
D: Cosa garantisce l'SLA di AWS Glue?
L’accordo SLA relativo ad AWS Glue garantisce una percentuale di tempo di attività mensile di almeno il 99,9% per tale servizio.
D: Come posso sapere se ho diritto a un credito di assistenza SLA?
Hai diritto a un credito di assistenza SLA per AWS Glue, secondo l’SLA di AWS Glue, se più di una zona di disponibilità in cui stai eseguendo un'attività, all'interno della stessa regione ha una percentuale di tempo di attività mensile inferiore al 99,9% durante un qualsiasi ciclo di fatturazione mensile.
Per consultare i dettagli completi sui termini e le condizioni del contratto sul livello di servizio e per ricevere indicazioni sulla presentazione di una richiesta, consulta la pagina dei dettagli relativa all’accordo SLA relativo ad AWS Glue.
Ottieni l'accesso immediato al piano gratuito di AWS.
Inizia subito a utilizzare AWS Glue nella Console di gestione AWS.