Apache Spark - Amazon EMR

Apache Spark

Apache Spark est un modèle distribué de programmation et d'infrastructure qui vous permet d'effectuer des opérations de machine learning, de traitement de flux ou d'analyse graphique avec les clusters Amazon EMR. De manière analogue à Apache Hadoop, Spark est un système de traitement distribué open source, couramment utilisé pour les charges de travail de big data. Toutefois, Spark présente plusieurs différences importantes par rapport à Hadoop MapReduce. Spark a un moteur d'exécution optimisé de graphes acycliques dirigés (DAG) et met en cache de façon active les données en mémoire, ce qui peut améliorer les performances, notamment pour certains algorithmes et requêtes interactives.

De manière native, Spark prend en charge les applications écrites en Scala, python ou Java. Spark inclut également plusieurs bibliothèques étroitement intégrées pour SQL (Spark SQL), le machine learning (MLlib), le traitement des flux (Streaming Spark) et le traitement graphique (GraphX). Ces outils facilitent l'exploitation de l'infrastructure Spark pour une grande variété de cas d'utilisation.

Vous pouvez installer Spark sur un cluster Amazon EMR avec d'autres applications Hadoop. Cette solution peut également exploiter le système de fichiers EMR (EMRFS) pour accéder directement aux données dans Amazon S3. Hive s'intègre aussi à Spark afin que vous puissiez utiliser un objet HiveContext pour exécuter des scripts Hive à l'aide de Spark. Un contexte Hive est inclus dans le shell de Spark en tant que sqlContext.

Pour un exemple de tutoriel sur la configuration d'un cluster EMR avec Spark et l'analyse d'un échantillon de données, consultez Tutorial: Getting started with Amazon EMR sur le blog AWS News.

Important

Apache Spark version 2.3.1, disponible à partir de la version 5.16.0 d'Amazon EMR, corrige CVE-2018-8024 et CVE-2018-1334. Nous vous recommandons de migrer les versions antérieures de Spark vers la version 2.3.1 ou ultérieure.

Le tableau suivant répertorie la version de Spark incluse dans la dernière version d'Amazon EMR série 6.x, ainsi que les composants qu'Amazon EMR installe avec Spark.

Pour connaître la version des composants installés avec Spark dans cette version, consultez les versions des composants de la version 6.14.0.

Informations sur la version de Spark pour emr-6.14.0
Étiquette de version Amazon EMR Version de Spark Composants installés avec Spark

emr-6.14.0

Spark 3.4.1

aws-sagemaker-spark-sdk, delta, emrfs, emr-goodies, emr-ddb, emr-s3-select, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hudi, hudi-spark, iceberg, livy-server, nginx, r, spark-client, spark-history-server, spark-on-yarn, spark-yarn-slave

Note

La version 6.8.0 d'Amazon EMR est fournie avec la version 3.3.0 d'Apache Spark. Cette version de Spark utilise Apache Log4j 2 et le fichier log4j2.properties pour configurer Log4j dans les processus Spark. Si vous utilisez Spark dans le cluster ou si vous créez des clusters EMR avec des paramètres de configuration personnalisés, et que vous voulez passer à la version 6.8.0 d'Amazon EMR, vous devez migrer vers la nouvelle classification de configuration spark-log4j2 et le nouveau format de clé pour Apache Log4j 2. Pour de plus amples informations, veuillez consulter Migration d'Apache Log4j 1.x vers Log4j 2.x.

Le tableau suivant répertorie la version de Spark incluse dans la dernière version d'Amazon EMR série 5.x, ainsi que les composants qu'Amazon EMR installe avec Spark.

Pour connaître la version des composants installés avec Spark dans cette version, consultez les versions des composants de la version 6.14.0.

Informations sur la version de Spark pour emr-5.36.1
Étiquette de version Amazon EMR Version de Spark Composants installés avec Spark

emr-5.36.1

Spark 2.4.8

aws-sagemaker-spark-sdk, emrfs, emr-goodies, emr-ddb, emr-s3-select, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hudi, hudi-spark, livy-server, nginx, r, spark-client, spark-history-server, spark-on-yarn, spark-yarn-slave