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à.
Plug-in di archiviazione cloud shuffle per Apache Spark
Il plug-in di archiviazione cloud shuffle è un plug-in Apache Spark compatibile con l'API ShuffleDataIO
groupByKey
e repartition
nelle applicazioni Spark join
reduceByKey
, riducendo così gli errori comuni o la price/performance dislocazione dei processi e delle pipeline di analisi dei dati senza server.
AWS Glue
Le versioni 3.0 e 4.0 di AWS Glue includono il plug-in preinstallato e pronto per abilitare lo shuffling su Amazon S3 senza passaggi aggiuntivi. Per ulteriori informazioni, consulta Plug-in shuffle di AWS Glue Spark con Amazon S3 per abilitare la funzionalità per le tue applicazioni Spark.
Altri ambienti Spark
Il plug-in richiede che in altri ambienti Spark siano impostate le seguenti configurazioni Spark:
--conf spark.shuffle.sort.io.plugin.class=com.amazonaws.spark.shuffle.io.cloud.ChopperPlugin
: indica a Spark di utilizzare questo plug-in per Shuffle IO.--conf spark.shuffle.storage.path=s3://
: il percorso in cui verranno archiviati i file shuffle.bucket-name
/shuffle-file-dir
Nota
Il plug-in sovrascrive una classe principale di Spark. Di conseguenza, il jar del plug-in deve essere caricato prima dei jar di Spark. Ciò è possibile utilizzando userClassPathFirst
in ambienti YARN on-premise se il plug-in viene utilizzato all'esterno di AWS Glue.
Creazione di bundle per il plug-in con le applicazioni Spark
È possibile raggruppare il plug-in con le applicazioni Spark e le distribuzioni Spark (versioni 3.1 e successive) aggiungendo la dipendenza del plug-in nel file Mavenpom.xml
mentre si sviluppano le applicazioni Spark in locale. Per ulteriori informazioni sulle versioni del plug-in e di Spark, consulta Versioni del plug-in.
<repositories> ... <repository> <id>aws-glue-etl-artifacts</id> <url>https://aws-glue-etl-artifacts.s3.amazonaws.com/release/ </url> </repository> </repositories> ... <dependency> <groupId>com.amazonaws</groupId> <artifactId>chopper-plugin</artifactId> <version>3.1-amzn-LATEST</version> </dependency>
In alternativa, puoi scaricare i file binari direttamente dagli artefatti di AWS Glue Maven e includerli nell'applicazione Spark come segue.
#!/bin/bash sudo wget -v https://aws-glue-etl-artifacts.s3.amazonaws.com/release/com/amazonaws/chopper-plugin/3.1-amzn-LATEST/chopper-plugin-3.1-amzn-LATEST.jar -P /usr/lib/spark/jars/
Esempio spark-submit
spark-submit --deploy-mode cluster \ --conf spark.shuffle.storage.s3.path=s3://<ShuffleBucket>/<shuffle-dir> \ --conf spark.driver.extraClassPath=
<Path to plugin jar>
\ --conf spark.executor.extraClassPath=<Path to plugin jar>
\ --class <your test class name> s3://<ShuffleBucket>
/<Your application jar>
\
Configurazioni facoltative
Questi sono i valori delle configurazioni facoltative che controllano il comportamento dello shuffle di Amazon S3.
spark.shuffle.storage.s3.enableServerSideEncryption
: Enable/disable S3 SSE per shuffle e spill file. Il valore predefinito ètrue
.spark.shuffle.storage.s3.serverSideEncryption.algorithm
: l'algoritmo SSE da utilizzare. Il valore predefinito èAES256
.spark.shuffle.storage.s3.serverSideEncryption.kms.key
: l'ARN della chiave KMS quando è abilitato SSE aws:kms.
Oltre a queste configurazioni, potrebbe essere necessario impostarne altre come spark.hadoop.fs.s3.enableServerSideEncryption
e configurazioni aggiuntive specifiche dell'ambiente per garantire l'applicazione della crittografia appropriata per il caso d'uso.
Versioni del plug-in
Questo plugin è supportato per le versioni Spark associate a ciascuna versione. AWS Glue La tabella seguente mostra la AWS Glue versione, la versione Spark e la versione del plug-in associata con la posizione Amazon S3 per il file binario del software del plug-in.
Versione AWS Glue | Versione di Spark | Versione del plug-in | Posizione di Amazon S3. |
---|---|---|---|
3.0 | 3.1 | 3.1-amzn-LATEST |
s3:///-Plugin-3.1-amzn-latest.jar aws-glue-etl-artifacts release/com/amazonaws/chopper-plugin/3.1-amzn-0/chopper |
4.0 | 3.3 | 3.3-amzn-LATEST |
s3://aws-glue-etl-artifacts/release/com/amazonaws/chopper-plugin/3.3-amzn-0/chopper-Plugin-3.3-AMZN-latest.jar |
Licenza
Il software del plug-in è concesso in licenza ai sensi della licenza Apache-2.0.