Configurazione delle proprietà dei job per i job Spark in AWS Glue - AWS Glue

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione delle proprietà dei job per i job Spark in AWS Glue

Quando definisci il tuo job sulla AWS Glue console, fornisci i valori delle proprietà per controllare l'ambiente AWS Glue di runtime.

Definire le proprietà di processo per i processi Spark

L'elenco seguente descrive le proprietà di un processo Spark. Per le proprietà di un processo shell di Python, consulta Definire le proprietà del processo per i processi shell di Python. Per le proprietà di un processo ETL di streaming, vedere Definizione delle proprietà di processo per un processo di streaming ETL.

Le proprietà sono elencate nell'ordine in cui appaiono nella procedura guidata Aggiungi lavoro sulla AWS Glue console.

Name

Stringa UTF-8 con un massimo di 255 caratteri.

Description

Fornisci una descrizione facoltativa di un massimo di 2.048 caratteri.

Ruolo IAM

Specifica il ruolo IAM; utilizzato per definire l'autorizzazione alle risorse utilizzate per eseguire il processo e accedere agli archivi dati. Per ulteriori informazioni sulle autorizzazioni per l'esecuzione di lavori in AWS Glue, vedere. Gestione delle identità e degli accessi per AWS Glue

Tipo

Il tipo di processo ETL. Viene impostato automaticamente in base al tipo di origini dati selezionate.

Versione
AWS Glue

AWS Glue version determina le versioni di Apache Spark e Python disponibili per il job, come specificato nella tabella seguente.

AWS Glue versione Versioni Spark e Python supportate
5.1
  • Spark 3.5.6

  • Python 3.11

5.0
  • Spark 3.5.4

  • Python 3.11

4.0
  • Spark 3.3.0

  • Python 3.10

3.0
  • Spark 3.1.1

  • Python 3.7

Lingua

Il codice nello script ETL definisce la logica del processo. Lo script può essere codificato in Python o Scala. Puoi scegliere se lo script eseguito dal job viene generato da te AWS Glue o fornito da te. Puoi fornire il nome e la posizione dello script in Amazon Simple Storage Service (Amazon S3). Conferma che non esiste un file con lo stesso nome della directory di script nel percorso. Per ulteriori informazioni sull'uso degli script, consulta Guida alla programmazione di AWS Glue.

Tipo di lavoratore

Sono disponibili i seguenti tipi di worker:

Le risorse disponibili per i AWS Glue lavoratori vengono misurate in DPUs. Una DPU è una misura relativa della potenza di elaborazione costituita da 4 V CPUs di capacità di elaborazione e 16 GB di memoria.

  • G.025X: quando si sceglie questo tipo, si fornisce anche un valore per Numero di worker. Ogni worker esegue il mapping a 0,25 DPU (2 vCPUs, 4 GB di memoria) con disco da 84 GB (circa 34 GB liberi). Consigliamo questo tipo di worker per i processi di streaming a basso volume. Questo tipo di worker è disponibile solo per i lavori di streaming della AWS Glue versione 3.0 o successiva.

  • G.1X: quando si sceglie questo tipo, si fornisce anche un valore per Numero di worker. Ogni lavoratore esegue il mapping su 1 DPU (4 vCPUs, 16 GB di memoria) con disco da 94 GB (circa 44 GB gratuiti). Questi tipi di worker sono raccomandati per carichi di lavoro come trasformazioni di dati, join e query, in quanto offrono un modo scalabile ed economico per eseguire la maggior parte dei processi.

  • G.2X: quando si sceglie questo tipo, si fornisce anche un valore per Numero di worker. Ogni worker esegue il mapping su 2 DPU (8 vCPUs, 32 GB di memoria) con disco da 138 GB (circa 78 GB gratuiti). Questi tipi di worker sono raccomandati per carichi di lavoro come trasformazioni di dati, join e query, in quanto offrono un modo scalabile ed economico per eseguire la maggior parte dei processi.

  • G.4X: quando si sceglie questo tipo, si fornisce anche un valore per Numero di worker. Ogni worker esegue il mapping a 4 DPU (16 vCPUs, 64 GB di memoria) con disco da 256 GB (circa 230 GB gratuiti). Questi tipi di worker sono raccomandati per i processi i cui carichi di lavoro contengono trasformazioni, aggregazioni, join e query con i requisiti più elevati.

  • G.8X: quando si sceglie questo tipo, si fornisce anche un valore per Numero di worker. Ogni worker esegue il mapping a 8 DPU (32 vCPUs, 128 GB di memoria) con disco da 512 GB (circa 485 GB gratuiti). Questi tipi di worker sono raccomandati per i processi i cui carichi di lavoro contengono trasformazioni, aggregazioni, join e query con i requisiti più elevati.

  • G.12X: quando si sceglie questo tipo, si fornisce anche un valore per Numero di worker. Ogni worker esegue il mapping a 12 DPU (48 vCPUs, 192 GB di memoria) con disco da 768 GB (circa 741 GB liberi). Consigliamo questo tipo di worker per processi con carichi di lavoro molto grandi e che richiedono molte risorse con una capacità di calcolo significativa.

  • G.16X: quando si sceglie questo tipo, si fornisce anche un valore per Numero di worker. Ogni worker esegue il mapping a 16 DPU (64 vCPUs, 256 GB di memoria) con disco da 1024 GB (circa 996 GB gratuiti). Consigliamo questo tipo di worker per processi con i carichi di lavoro più grandi e che richiedono più risorse con una capacità di calcolo massima.

  • R.1X: quando si sceglie questo tipo, si fornisce anche un valore per Numero di worker. Ogni worker esegue la mappatura su 1 DPU con configurazione ottimizzata per la memoria. Consigliamo questo tipo di worker per carichi di lavoro che richiedono un uso intensivo della memoria e che presentano spesso errori o richiedono rapporti elevati. out-of-memory memory-to-CPU

  • R.2X: quando si sceglie questo tipo, si fornisce anche un valore per Numero di worker. Ogni worker esegue la mappatura su 2 DPU con configurazione ottimizzata per la memoria. Consigliamo questo tipo di worker per carichi di lavoro che richiedono molta memoria e che presentano spesso errori o richiedono rapporti elevati. out-of-memory memory-to-CPU

  • R.4X: quando si sceglie questo tipo, si fornisce anche un valore per Numero di worker. Ogni worker esegue la mappatura su 4 DPU con configurazione ottimizzata per la memoria. Consigliamo questo tipo di worker per carichi di lavoro che richiedono grandi quantità di memoria e che presentano spesso errori o richiedono rapporti elevati. out-of-memory memory-to-CPU

  • R.8X: quando si sceglie questo tipo, si fornisce anche un valore per Numero di worker. Ogni worker esegue la mappatura su 8 DPU con configurazione ottimizzata per la memoria. Consigliamo questo tipo di worker per carichi di lavoro di grandi dimensioni che richiedono un uso intensivo della memoria e che presentano spesso errori o richiedono rapporti elevati. out-of-memory memory-to-CPU

Specifiche del tipo di worker

La tabella seguente fornisce le specifiche dettagliate per tutti i tipi di worker G disponibili:

Specifiche del tipo worker G
Tipo di worker DPU per nodo VPCU Memoria (GB) Disco (GB) Spazio libero su disco (GB) Esecutori Spark per nodo
G.025X 0.25 2 4 84 34 1
G.1X 1 4 16 94 44 1
G.2X 2 8 32 138 78 1
G.4X 4 16 64 256 230 1
G.8X 8 32 128 512 485 1
G.12X 12 48 192 768 741 1
G.16X 16 64 256 1024 996 1

Importante: i tipi di worker G.12X e G.16X, così come tutti i tipi di worker R (da R.1X a R.8X), hanno una latenza di avvio più elevata.

Ti viene addebitata una tariffa oraria basata sul numero di job ETL DPUs utilizzati per eseguire i tuoi job ETL. Per ulteriori informazioni, consultare la pagina dei prezzi di AWS Glue.

Per la AWS Glue versione 1.0 o precedente, quando si configura un lavoro utilizzando la console e si specifica un tipo di lavoratore su Standard, viene impostata la capacità massima e il numero di lavoratori diventa il valore di Capacità massima - 1. Se si utilizza AWS Command Line Interface (AWS CLI) o AWS SDK, è possibile specificare il parametro Capacità massima oppure specificare sia il tipo di lavoratore che il numero di lavoratori.

Per i lavori della AWS Glue versione 2.0 o successiva, non è possibile specificare una capacità massima. È invece necessario specificare un Worker type (Tipo di worker) e il Number of workers (Numero di worker).

G.4Xe i tipi di G.8X lavoratori sono disponibili solo per i lavori Spark ETL AWS Glue versione 3.0 o successiva AWS nelle seguenti regioni: Stati Uniti orientali (Ohio), Stati Uniti orientali (Virginia settentrionale), Stati Uniti occidentali (California settentrionale), Stati Uniti occidentali (Oregon), Asia Pacifico (Mumbai), Asia Pacifico (Seoul), Asia Pacifico (Singapore), Asia Pacifico (Sydney), Asia Pacifico (Tokyo), Canada (Centrale), Europa (Francoforte), Europa (Irlanda), Europa (Londra), Europa (Spagna), Europa (Stoccolma) e Sud America (San Paolo).

G.12XG.16X, e R.1X tramite i tipi di R.8X worker sono disponibili solo per i job Spark ETL AWS Glue versione 4.0 o successiva AWS nelle seguenti regioni: Stati Uniti orientali (Virginia settentrionale), Stati Uniti occidentali (Oregon), Stati Uniti orientali (Ohio), Europa (Irlanda) ed Europa (Francoforte). In futuro verranno supportate regioni aggiuntive.

Numero di worker richiesto

Per la maggior parte dei tipi di worker è necessario specificare il numero di worker allocati quando il processo viene eseguito.

Segnalibro Job

Specificate in che modo AWS Glue i processi definiscono le informazioni durante l'esecuzione del processo. Puoi ricordare di aver già elaborato i dati, aggiornato le informazioni sullo stato o ignorato le informazioni sullo stato. Per ulteriori informazioni, consulta Monitoraggio dei dati elaborati mediante segnalibri di processo.

Coda per l'esecuzione dei processi

Specifica se le esecuzioni dei processi vengono messe in coda per essere eseguite in un secondo momento quando le quote di servizio non sono sufficienti.

Se selezionato, la coda per l'esecuzione dei processi viene abilitata. Se non è compilato, le esecuzioni del processo non saranno prese in considerazione per la coda.

Se questa impostazione non corrisponde al set di valori impostato nell'esecuzione del processo, verrà utilizzato il valore presente nel campo di esecuzione del processo.

Esecuzione flessibile

Quando configuri un lavoro utilizzando AWS Studio o l'API, puoi specificare una classe di esecuzione del lavoro standard o flessibile. I tuoi processo possono avere diversi gradi di priorità e sensibilità temporale. La classe di esecuzione standard è ideale per carichi di lavoro sensibili al tempo che richiedono un avvio rapido dei processi e risorse dedicate.

La classe di esecuzione flessibile è adatta per processi non urgenti come i processi di pre-produzione, test e caricamenti di dati una tantum. Le esecuzioni di job flessibili sono supportate per i lavori che utilizzano la AWS Glue versione 3.0 o successiva G.1X e/o per i tipi di G.2X worker. I nuovi tipi di worker (G.12X, G.16X e da R.1X a R.8X) non supportano l'esecuzione flessibile.

Le esecuzioni dei processi flessibili vengono fatturate in base al numero di worker che vengono eseguiti alla volta. Il numero di worker può essere aggiunto o rimosso per un'esecuzione di lavoro flessibile in esecuzione. Invece di fatturare come semplice calcolo di Max Capacity * Execution Time, ogni worker contribuirà per il tempo che è stato eseguito durante l'esecuzione del processo. La fattura è la somma di (Number of DPUs per worker * time each worker ran).

Per ulteriori informazioni, consulta il pannello di aiuto in AWS Studio oppure Jobs eEsecuzioni di processi.

Numero di tentativi

Specificate il numero di volte, da 0 a 10, che AWS Glue devono riavviare automaticamente il processo in caso di errore. I processi che raggiungono il limite di timeout non vengono riavviati.

Timeout dei processi

Imposta il tempo di esecuzione massimo in minuti. Il valore massimo è 7 giorni o 10.080 minuti. In caso contrario, i processi genereranno un'eccezione.

Quando il valore viene lasciato vuoto, il timeout viene impostato sul valore predefinito di 2.880 minuti.

Tutti i AWS Glue lavori esistenti con un valore di timeout superiore a 7 giorni verranno impostati come impostazione predefinita su 7 giorni. Ad esempio, se un processo in batch ha impostato un timeout di 20 giorni, sarà interrotto al settimo giorno.

Best practice per i timeout dei processi

I processi vengono fatturati in base al tempo di esecuzione. Per evitare addebiti imprevisti, configura i valori di timeout appropriati per il tempo di esecuzione previsto del processo.

Proprietà avanzate
Nome del file dello script

Un nome univoco dello script per il processo. Non può essere denominato Processo senza titolo.

Percorso dello script

La posizione Amazon S3 dello script. Il percorso deve essere nel formato s3://bucket/prefix/path/. Deve terminare con una barra (/) e non includere alcun file.

Parametri del processo

Attiva o disattiva la creazione di CloudWatch metriche Amazon durante l'esecuzione di questo processo. Per visualizzare i dati di profiling, è necessario abilitare questa opzione. Per ulteriori informazioni su come attivare e visualizzare i parametri, consulta Monitoraggio e debug dei processi.

Metriche di osservabilità dei processi

Attiva la creazione di CloudWatch parametri di osservabilità aggiuntivi durante l'esecuzione di questo processo. Per ulteriori informazioni, consulta Monitoraggio con parametri AWS Glue di osservabilità.

Registrazione continua

Attiva la registrazione continua su Amazon CloudWatch. Se questa opzione non è abilitata, i registri sono disponibili solo dopo il completamento del processo. Per ulteriori informazioni, consulta Registrazione per i lavori AWS Glue..

Interfaccia utente Spark

Attiva l'uso dell'interfaccia utente di Spark per monitorare questo processo. Per ulteriori informazioni, consulta Abilitazione dell'interfaccia utente Web di Apache Spark per processi AWS Glue.

Percorso dei log dell'interfaccia utente di Spark

Il percorso per scrivere i log quando l'interfaccia utente di Spark è abilitata.

Configurazione della registrazione e del monitoraggio dell'interfaccia utente di Spark

Scegli una delle seguenti opzioni:

  • Standard: scrivi i log usando l'ID di esecuzione del AWS Glue processo come nome del file. Attiva il monitoraggio dell'interfaccia utente Spark nella console. AWS Glue

  • Legacy: scrivi i log usando “spark-application- {timestamp}” come nome del file. Non attivare il monitoraggio dell'interfaccia utente di Spark.

  • Standard e legacy: scrivi i log sia nelle posizioni standard che in quelle legacy. Attiva il monitoraggio dell'interfaccia utente Spark nella AWS Glue console.

Simultaneità massima

Imposta il numero massimo di esecuzioni simultanee consentite per il processo. Il valore di default è 1. Viene restituito un errore al raggiungimento della soglia. Il valore massimo che è possibile specificare è controllato da un limite di servizio. Ad esempio, se un'esecuzione di un processo precedente non è ancora terminata quando una nuova istanza viene avviata, è possibile restituire un errore per evitare che due istanze dello stesso processo vengano eseguite simultaneamente.

Percorso temporaneo

Fornisci la posizione di una directory di lavoro in Amazon S3 in cui vengono scritti i risultati intermedi temporanei durante l' AWS Glue esecuzione dello script. Conferma che non esiste un file con lo stesso nome della directory temporanea nel percorso. Questa directory viene utilizzata durante la AWS Glue lettura e la scrittura su Amazon Redshift e per determinate AWS Glue trasformazioni.

Nota

AWS Glue crea un bucket temporaneo per i lavori se un bucket non esiste già in una regione. Questo bucket potrebbe consentire l'accesso pubblico. Puoi modificare il bucket in Amazon S3 per impostare il blocco dell'accesso pubblico oppure eliminare il bucket in un secondo momento dopo che tutti i processi in quella regione sono stati completati.

Soglia notifica di ritardo (minuti)

Imposta la soglia (in minuti) prima di inviare una notifica di ritardo. Puoi impostare questa soglia per inviare notifiche quando l'esecuzione di un processo RUNNING, STARTING o STOPPING impiega di più rispetto alla quantità di minuti attesa.

Configurazione di sicurezza

Scegliere una configurazione di sicurezza dall'elenco. Una configurazione di sicurezza specifica come vengono crittografati i dati del target Amazon S3: nessuna crittografia, crittografia lato server con chiavi gestite da AWS KMS(SSE-KMS) o chiavi di crittografia gestite da Amazon S3 (SSE-S3).

Crittografia lato server

Se selezioni questa opzione, quando il processo ETL scrive in Amazon S3, i dati vengono crittografati quando sono inattivi tramite crittografia SSE-S3. Vengono crittografati sia i dati di destinazione Amazon S3 sia tutti gli altri dati scritti in una directory temporanea Amazon S3. Questa opzione viene passata come parametro del processo. Per ulteriori informazioni, consulta Protezione dei dati mediante la crittografia lato server con chiavi di crittografia gestite da Amazon S3 (SSE-S3) nella Guida per l'utente di Amazon Simple Storage Service.

Importante

Questa opzione viene ignorata se viene specificata una configurazione di protezione.

Opzione per l'uso del catalogo dati di Glue come metastore Hive

Seleziona di utilizzare AWS Glue Data Catalog come metastore Hive. Il ruolo IAM utilizzato per il processo deve disporre dell'autorizzazione glue:CreateDatabase. Viene creato un database chiamato "default" nel catalogo dati, nel caso non fosse già presente.

Connessioni

Scegli una configurazione VPC per accedere alle origini dati di Amazon S3 situate nel cloud privato virtuale (VPC). Puoi creare e gestire una connessione di rete in AWS Glue. Per ulteriori informazioni, consulta Connessione ai dati.

Libraries (Librerie)
Percorso della libreria Python, percorso dipendente e JARs percorso dei file di riferimento

Specificare queste opzioni se lo script le richiede. Puoi definire percorsi separati da virgole Amazon S3 per queste opzioni quando definisci il processo. Puoi sostituire tali percorsi quando esegui il processo. Per ulteriori informazioni, consulta Fornire i propri script personalizzati.

Parametri Job

Un insieme di coppie chiave-valore che vengono passate come parametri denominati allo script. Si tratta di valori predefiniti che vengono utilizzati quando lo script viene eseguito, ma è possibile ignorarli nei trigger o quando si esegue il processo. È necessario prefissare il nome della chiave con --; ad esempio: --myKey. I parametri del lavoro vengono passati come mappa quando si utilizza AWS Command Line Interface.

Per ulteriori esempi, vedere i parametri Python in Passaggio di parametri Python in AWS Glue e accesso ai parametri.

Tag

Il tag si applica al processo tramite una Tag key (Chiave tag) e un Tag value (Valore tag) facoltativo. Una volta create, le chiavi di tag sono di sola lettura. Usa i tag su alcune risorse per facilitarne l'organizzazione e l'individuazione. Per ulteriori informazioni, consulta AWS tag in AWS Glue.

Restrizioni per i processi che accedono alle tabelle gestite da Lake Formation

Tieni presente le seguenti note e restrizioni quando crei lavori che leggono o scrivono su tabelle gestite da AWS Lake Formation: