Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Cloud Shuffle Storage Plugin pour Apache Spark
Cloud Shuffle Storage Plugin est un plug-in Apache Spark compatible avec l'API ShuffleDataIO
join
, reduceByKey
, groupByKey
et repartition
dans vos applications Spark, réduisant ainsi les défaillances courantes ou les problèmes de rapport prix/performances de vos tâches et pipelines d'analyse de données sans serveur.
AWS Glue
AWS Glue les versions 3.0 et 4.0 sont livrées avec le plugin préinstallé et prêt à activer le shuffling vers Amazon S3 sans aucune étape supplémentaire. Pour plus d’informations, consultez .AWS Glue Plug-in Spark Shuffle avec Amazon S3 pour activer cette fonctionnalité pour vos applications Spark.
Autres environnements Spark
Le plug-in exige que les configurations Spark suivantes soient définies sur d'autres environnements Spark :
--conf spark.shuffle.sort.io.plugin.class=com.amazonaws.spark.shuffle.io.cloud.ChopperPlugin
: indique à Spark d'utiliser ce plug-in pour Shuffle IO.--conf spark.shuffle.storage.path=s3://
: chemin de stockage de vos fichiers de lecture aléatoire.bucket-name
/shuffle-file-dir
Note
Le plug-in remplace une classe principale de Spark. Par conséquent, le fichier jar du plug-in doit être chargé avant les fichiers jar de Spark. Vous pouvez le faire userClassPathFirst
en utilisant des environnements YARN sur site si le plugin est utilisé à l'extérieur AWS Glue.
Création d’une offre groupée du plug-in pour vos applications Spark
Vous pouvez intégrer le plug-in à vos applications et distributions Spark (versions 3.1 et supérieures) en ajoutant la dépendance du plug-in dans votre fichier pom.xml
Maven, tout en développant vos applications Spark en local. Pour plus d'informations sur les versions du plug-in et de Spark, consultez Versions du 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>
Vous pouvez également télécharger les fichiers binaires directement à partir des artefacts AWS Glue Maven et les inclure dans votre application Spark comme suit.
#!/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/
Exemple d'utilisation de 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>
\
Configurations facultatives
Il s'agit de valeurs de configuration facultatives qui contrôlent le comportement de lecture aléatoire d'Amazon S3.
spark.shuffle.storage.s3.enableServerSideEncryption
: active/désactive S3 SSE pour les fichiers de lecture aléatoire et de débordement. La valeur par défaut esttrue
.spark.shuffle.storage.s3.serverSideEncryption.algorithm
: algorithme SSE à utiliser. La valeur par défaut estAES256
.spark.shuffle.storage.s3.serverSideEncryption.kms.key
: ARN de la clé KMS lorsque SSE aws:kms est activé.
Outre ces configurations, vous devrez peut-être définir des configurations telles que spark.hadoop.fs.s3.enableServerSideEncryption
et d’autres configurations spécifiques à l’environnement pour garantir que le chiffrement approprié est appliqué à votre cas d’utilisation.
Versions du plug-in
Ce plugin est pris en charge pour les versions de Spark associées à chaque AWS Glue version. Le tableau suivant indique la AWS Glue version, la version de Spark et la version du plugin associée avec l'emplacement Amazon S3 du binaire logiciel du plugin.
AWS Glue version | Version de Spark | Version du plug-in | Emplacement Amazon S3 |
---|---|---|---|
3.0 | 3.1 | 3.1-amzn-LATEST |
s3 ://aws-glue-etl-artifacts/release/com/amazonaws/chopper-plugin/3.1-amzn-0/chopper-Plugin-3.1-amzn-Latest.jar |
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 |
Licence
Le fichier binaire logiciel de ce plug-in est concédé sous licence dans le cadre de la licence Apache-2.0.