D: Che cos'è AWS Glue?

AWS Glue è un servizio di estrazione, trasferimento e caricamento (ETL) completamente gestito e con tariffe basate sul consumo effettivo che permette di automatizzare le lunghe procedure di preparazione dei dati per l'analisi. AWS Glue individua e profila automaticamente i dati tramite l'apposito catalogo, suggerisce e genera codice ETL per trasformare i dati di origine in schemi di destinazione ed esegue processi ETL in un ambiente Apache Spark flessibile e a scalabilità orizzontale per caricare le informazioni nel percorso di destinazione. Inoltre, consente di configurare, orchestrare e monitorare flussi di dati complessi.

D: Come si inizia 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 "Analytics". Puoi anche seguire uno dei tutorial guidati che presentano casi d'uso di esempio di AWS Glue. È inoltre disponibile codice ETL di esempio nel repository GitHub in AWS Labs.

D: Quali sono i componenti principali di AWS Glue?

AWS Glue è composto da un catalogo dati, che è il repository centrale di metadati, da un motore ETL in grado di generare automaticamente codice Python e da un sistema di pianificazione che gestisce la risoluzione di dipendenze, il monitoraggio dei processi e l'esecuzione di nuovi tentativi. Questi tre componenti permettono di automatizzare buona parte delle onerose attività generiche legate a individuazione, suddivisione in categorie, ottimizzazione, miglioramento della qualità e trasferimento dei dati, per 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 EMR e Amazon Redshift Spectrum. Glue genera automaticamente codice in Python per processi ETL, codice che è possibile personalizzare ulteriormente tramite gli strumenti già in uso. AWS Glue è un servizio serverless, perciò non è necessario configurare e gestire le risorse di elaborazione.

D: Quali origini dati supporta AWS Glue?

AWS Glue offre il supporto nativo per i dati memorizzati in Amazon Aurora, Amazon RDS per MySQL, Amazon RDS per Oracle, Amazon RDS per PostgreSQL, Amazon RDS per SQL Server, Amazon Redshift e Amazon S3, nonché nei database MySQL, Oracle, Microsoft SQL Server e PostgreSQL nei Virtual Private Cloud (Amazon VPC) in Amazon EC2. I metadati memorizzati nel catalogo dati di AWS Glue possono essere consultati tramite Amazon Athena, Amazon EMR e Amazon Redshift Spectrum. È anche possibile scrivere manualmente codice PySpark e importare librerie personalizzate nei processi ETL di 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.

Torna all'inizio »


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 EMR e 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, possono essere personalizzati 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?

No. 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 ulteriori informazioni su come configurare un cluster per l'utilizzo con il catalogo dati di AWS Glue come Apache Hive Metastore, leggi la documentazione.

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. Per informazioni sulla procedura di aggiornamento, consulta questa pagina.

Torna all'inizio »


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 PySpark. 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. È possibile compilare codice ETL utilizzando la libreria personalizzata di AWS Glue o compilare codice Spark arbitrario in Python (codice PySpark) tramite l'editor di script nella console di AWS Glue, scaricando il codice generato automaticamente e modificandolo in un ambiente IDE. È anche 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 PySpark personalizzate nei processi ETL di AWS Glue. Per ulteriori informazioni, consulta la documentazione.

D: È possibile usare codice personalizzato?

Sì. È possibile compilare codice personalizzato utilizzando la libreria ETL di AWS Glue, oppure scrivere codice PySpark e caricarlo in un processo ETL di Glue. Per ulteriori informazioni, consulta la documentazione.

D: In che modo è possibile sviluppare 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. È anche 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 attivati al completamento di un processo.

D: In che modo AWS Glue gestisce gli errori?

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 azioni 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 offre inoltre un comportamento in caso di nuovi tentativi che procederà a riprovare le operazioni interrotte con errori tre volte prima di inviare una notifica di errore.

D: È possibile eseguire processi ETL esistenti con AWS Glue?

Sì. È possibile eseguire codice PySpark esistente in AWS Glue. Sarà sufficiente caricarlo in Amazon S3 e creare uno o più processi che lo utilizzino. Lo stesso codice può essere riutilizzato su più processi indicando lo stesso percorso in Amazon S3 per ognuno di essi.

D: In che modo è possibile utilizzare AWS Glue per eseguire operazioni ETL su flussi di dati?

I processi ETL di AWS Glue sono pensati per i batch; è possibile programmarli a intervalli minimi di 5 minuti. Durante l'elaborazione dei batch di piccole dimensioni, non gestisce i flussi di dati. Se lo specifico caso d'uso richiede operazioni ETL sui dati durante lo streaming, è possibile eseguire una prima parte di queste operazioni utilizzando Amazon Kinesis, Amazon Kinesis Firehose o Amazon Kinesis Analytics, quindi memorizzare i dati in Amazon S3 o Amazon Redshift e attivare un processo ETL di Glue che raccolga i set di dati e prosegua nell'applicazione di ulteriori trasformazioni.

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 di entrambe le caratteristiche per ottenere un'esperienza ETL completa, è possibile utilizzare ciascuna di esse in modo indipendente.

Torna all'inizio »


D: In quali casi è più indicato utilizzare AWS Glue o 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.

Infine, i processi ETL di AWS Glue sono basati su PySpark. 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 è più indicato utilizzare AWS Glue o AWS 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 trasferire e trasformare i dati dall'origine dati in un altro database o data warehouse, ad esempio Amazon Redshift.

D: In quali casi è più indicato utilizzare AWS Glue o AWS Batch?

AWS Batch consente di eseguire in AWS ogni tipo di processo di elaborazione in batch in modo semplice ed efficiente. 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 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 processo ETL, è più indicato AWS Batch.

D: In quali casi è più indicato utilizzare AWS Glue o Amazon Kinesis Analytics?

Amazon Kinesis Analytics permette di eseguire query SQL standard su flussi di dati in entrata. I risultati possono essere salvati indicando una destinazione, ad esempio Amazon S3. Una volta che i dati sono disponibili nell'origine dati di destinazione, è possibile avviare un processo ETL di AWS Glue per eseguire la trasformazione dei dati e prepararli per ulteriore analisi o reportistica.

Torna all'inizio »


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. Inoltre, è prevista una tariffa a tempo, fatturata al secondo, per l'esecuzione dei processi ETL e 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. 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.

Torna all'inizio »


D: In che modo AWS Glue protegge i miei dati?

È prevista la crittografia lato server dei dati inattivi e crittografia SSL per i dati in transito.

D: Quali sono i limiti del servizio associati ad AWS Glue?

Consulta la documentazione per ulteriori informazioni sui limiti del servizio.

D: In quali regioni è disponibile AWS Glue?

AWS Glue è attualmente disponibile nelle regioni Stati Uniti orientali (Virginia settentrionale), Stati Uniti orientali (Ohio) e Stati Uniti occidentali (Oregon); altre regioni saranno attivate nel corso dei prossimi mesi. Consulta la pagina dei prezzi per ulteriori informazioni.

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. Puoi impostare le notifiche SNS tramite le azioni di CloudWatch per essere informato sui processi completati o con errori.

Torna all'inizio »