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à.
Esecuzione di processi ETL Spark con tempi di avvio ridotti
AWS Glue versione 2.0 e successive forniscono un'infrastruttura aggiornata per l'esecuzione dei processi Apache Spark ETL (estrazione, trasformazione e caricamento) in AWS Glue con tempi di avvio ridotti. Con i tempi di attesa ridotti, gli ingegneri dei dati possono essere più produttivi e aumentare l'interattività con AWS Glue. La varianza ridotta dei tempi di inizio dei processi può aiutarti a soddisfare o superare i tuoi SLA per rendere disponibili i dati per l'analisi dei dati.
Per usare questa caratteristica con i processi ETL di AWS Glue, scegli 2.0
o una versione successiva per la Glue version
durante la creazione dei processi.
Nuove caratteristiche supportate
In questa sezione vengono descritte le nuove funzionalità supportate con AWS Glue versione 2.0 e successive.
Supporto per la specifica di moduli Python aggiuntivi a livello di processo
AWS Glue versione 2.0 e successive consente inoltre di fornire moduli Python aggiuntivi o versioni diverse a livello di processo. Puoi utilizzare l'opzione --additional-python-modules
con un elenco di moduli Python separati da virgole per aggiungere un nuovo modulo o modificare la versione di un modulo esistente.
Ad esempio, per aggiornare o aggiungere un nuovo modulo scikit-learn
usa la seguente chiave-valore: "--additional-python-modules", "scikit-learn==0.21.3"
.
Inoltre, all'interno dell'opzione --additional-python-modules
puoi specificare un percorso Amazon S3 per un modulo ruota Python. Ad esempio:
--additional-python-modules s3://aws-glue-native-spark/tests/j4.2/ephem-3.7.7.1-cp37-cp37m-linux_x86_64.whl,s3://aws-glue-native-spark/tests/j4.2/fbprophet-0.6-py3-none-any.whl,scikit-learn==0.21.3
AWS Glue utilizza Python Package Installer (pip3) per installare i moduli aggiuntivi. È possibile passare le opzioni aggiuntive specificate da python-modules-installer-option
a pip3 per l'installazione dei moduli. Verranno applicate eventuali incompatibilità o limitazioni da pip3.
Moduli Python già forniti in AWS Glue versione 2.0
AWS Glue versione 2.0 supporta i seguenti moduli python per impostazione predefinita:
setuptools—45.2.0
subprocess32—3.5.4
ptvsd—4.3.2
pydevd—1.9.0
PyMySQL—0.9.3
docutils—0.15.2
jmespath—0.9.4
six—1.14.0
python_dateutil—2.8.1
urllib3—1.25.8
botocore—1.15.4
s3transfer—0.3.3
boto3—1.12.4
certifi—2019.11.28
chardet—3.0.4
idna—2.9
requests—2.23.0
pyparsing—2.4.6
enum34—1.1.9
pytz—2019.3
numpy—1.18.1
cycler—0.10.0
kiwisolver—1.1.0
scipy—1.4.1
pandas—1.0.1
pyarrow—0.16.0
matplotlib—3.1.3
pyhocon—0.3.54
mpmath—1.1.0
sympy—1.5.1
patsy—0.5.1
statsmodels—0.11.1
fsspec—0.6.2
s3fs—0.4.0
Cython—0.29.15
joblib—0.14.1
pmdarima—1.5.3
scikit-learn—0.22.1
tbats—1.0.9
Comportamento di registrazione
AWS Glue versione 2.0 e successive supporta diversi comportamenti di registrazione di default. Le differenze includono:
La registrazione avviene in tempo reale.
Esistono flussi separati per driver ed executor.
Per ogni driver ed executor ci sono due flussi, il flusso di output e il flusso degli errori.
Flussi di driver ed executor
I flussi dei driver sono identificati dall'ID di esecuzione del processo. I flussi degli executor sono identificati da <id esecuzione
>_<id attività executor
> del processo. Ad esempio:
"logStreamName": "jr_8255308b426fff1b4e09e00e0bd5612b1b4ec848d7884cebe61ed33a31789..._g-f65f617bd31d54bd94482af755b6cdf464542..."
Flusso di output ed errori
Il flusso di output presenta l'output standard (stdout) del codice. Il flusso degli errori presenta messaggi di log del codice/della libreria.
Flussi di log:
I flussi di log dei driver presentano <
jr
>, in cui <jr
> è l'ID di esecuzione del processo.I flussi di log degli executor presentano <
jr
>_<g
>, in cui <g
> è l'ID attività per l'executor. È possibile cercare l'ID attività dell'executor nel log degli errori del driver.
I gruppi di log predefiniti per AWS Glue versione 2.0 sono i seguenti:
/aws-glue/jobs/logs/output
per l'output/aws-glue/jobs/logs/error
per gli errori
Quando viene fornita una configurazione di sicurezza, i nomi dei gruppi di log vengono modificati in:
/aws-glue/jobs/<
security configuration
>-role/<Role Name
>/output/aws-glue/jobs/<
security configuration
>-role/<Role Name
>/error
Nella console, il collegamento Logs (Log) punta al gruppo di log di output e il collegamento Error (Errore) punta al gruppo di log degli errori. Quando la registrazione continua è abilitata, il collegamento Logs (Log) punta al gruppo di log continuo e il collegamento Output punta al gruppo di log di output.
Regole di registrazione
Nota
Il nome del gruppo di log di default per la registrazione continua è /aws-glue/jobs/logs-v2
.
In AWS Glue versione 2.0 e successive, la registrazione continua ha lo stesso comportamento di AWS Glue versione 1.0:
Gruppo di log di default:
/aws-glue/jobs/logs-v2
Flusso di log del driver: <
jr
>-driverFlusso di log dell'executor: <
jr
>-<executor ID
>Il nome del gruppo di log può essere modificato impostando
--continuous-log-logGroupName
Il nome dei flussi di log può essere preceduto impostando
--continous-log-logStreamPrefix
Funzionalità non supportate
Le seguenti funzioni di AWS Glue non sono supportate:
Endpoint di sviluppo
AWS Glue versione 2.0 e successive non viene eseguito su Apache YARN, quindi le impostazioni di YARN non si applicano
AWS Glue versione 2.0 e successive non dispone di un file di sistema distribuito Hadoop (HDFS)
AWS Glue versione 2.0 e successive non utilizza l'allocazione dinamica, quindi i parametri ExecutorAllocationManager non sono disponibili
Per i processi di AWS Glue versione 2.0 e successive, è possibile specificare il numero di dipendenti e il tipo di dipendente, ma non una
maxCapacity
.-
AWS Glue versione 2.0 e successive non supporta
s3n
pronto all'uso. Si consiglia di utilizzares3
os3a
. Se i processi devono usares3n
per qualsiasi motivo, è possibile passare il seguente argomento aggiuntivo:--conf spark.hadoop.fs.s3n.impl=com.amazon.ws.emr.hadoop.fs.EmrFileSystem