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à.
Lettura in parallelo dalle tabelle JDBC
È possibile impostare le proprietà della tabella JDBC per abilitarle AWS Glue per leggere i dati in parallelo. Quando si impostano determinate proprietà, si istruiscono AWS Glue per eseguire query SQL parallele su partizioni logiche dei dati. Puoi controllare il partizionamento impostando un campo hash o un'espressione hash. Puoi anche controllare il numero di operazioni di lettura parallele usate per accedere ai dati.
La lettura delle tabelle JDBC in parallelo è una tecnica di ottimizzazione che può migliorare le prestazioni. Per ulteriori informazioni sul processo di identificazione di quando questa tecnica è appropriata, consulta Reduce the amount of data scan nella guida Best practices for performance tuning AWS Glue for Apache Spark jobs su Prescriptive Guidance. AWS
Per abilitare le letture parallele, puoi impostare coppie chiave/valore nel campo dei parametri della struttura della tabella. Utilizza la notazione JSON per impostare un valore per il campo parametri della tabella. Per ulteriori informazioni sulle modifiche delle proprietà di una tabella, consulta Visualizzazione e gestione dei dettagli della tabella. Puoi anche abilitare le letture parallele chiamando i metodi ETL (Extract, Transform and Load, estrazione, trasformazione e caricamento) create_dynamic_frame_from_options
e create_dynamic_frame_from_catalog
. Per ulteriori informazioni sulla definizione delle opzioni in questi metodi, consulta from_options e from_catalog.
Puoi usare questo metodo per le tabelle JDBC, ovvero la maggior parte delle tabelle i cui dati dai base costituiscono un datastore JDBC. Queste proprietà vengono ignorate quando viene eseguita la lettura delle tabelle Amazon Redshift e Amazon S3.
- hashfield
-
Imposta
hashfield
sul nome di una colonna nella tabella JDBC da usare per dividere i dati in partizioni. Per ottenere risultati ottimali, questa colonna deve avere una distribuzione uniforme dei valori per distribuire i dati tra le partizioni. Questa colonna può essere di qualsiasi tipo di dati. AWS Glue genera query non sovrapposte che vengono eseguite in parallelo per leggere i dati partizionati da questa colonna. Ad esempio, se i dati sono distribuiti in modo uniforme in base al mese, è possibile usare la colonnamonth
per leggere ogni mese di dati in parallelo.'hashfield': 'month'
AWS Glue crea una query per trasformare il valore del campo in un numero di partizione ed esegue la query per tutte le partizioni in parallelo. Per usare la query personalizzata per partizionare la lettura di una tabella, fornisci un oggetto
hashexpression
al posto di un oggettohashfield
. - hashexpression
-
Imposta
hashexpression
su un'espressione SQL (conforme alla grammatica del motore di database JDBC) che restituisce un numero intero. Un'espressione semplice è il nome di qualsiasi colonna numerica nella tabella. AWS Glue genera query SQL per leggere i dati JDBC in parallelo utilizzando laWHERE
clausolahashexpression
in the per partizionare i dati.Ad esempio, è possibile usare la colonna numerica
customerID
per leggere i dati partizionati in base a un numero cliente.'hashexpression': 'customerID'
Avere AWS Glue controlla il partizionamento, fornisci a
hashfield
invece di a.hashexpression
- hashpartitions
-
Imposta
hashpartitions
sul numero di letture parallele della tabella JDBC. Se questa proprietà non viene impostata, il valore predefinito è 7.Ad esempio, imposta il numero di letture parallele
5
in modo che AWS Glue legge i dati con cinque domande (o meno).'hashpartitions': '5'