Apache Spark, een open-source, gedistribueerd processing-systeem, dat doorgaans wordt gebruikt om grote hoeveelheden data mee te verwerken, is verbeterd. Spark maakt gebruik van in-memory caching en geoptimaliseerde execution voor razendsnelle prestaties. Daarnaast ondersteunt het algemene batch processing, streaming analytics, machine learning, graph databases en ad hoc-queries.
Gebruik Amazon EMR-functionaliteiten zoals de snelle Amazon S3-connectiviteit, met het Amazon EMR File System (EMRFS), de integratie met de Amazon EC2 Spot-markt en resize-commando’s.
Met de Directed Acyclic Graph (DAG) engine kan Apache Spark efficiënte query-plans voor datatransformaties maken. Apache Spark slaat input, output en intermediate data in-memory op als resilient distributed datasets (rdd’s), waardoor deze snel verwerkt kunnen worden zonder i/o-belasting.
Apache Spark ondersteunt Java, Scala en Python. Daarnaast kun je SQL of HiveQL-queries aanmelden bij Apache Spark door gebruik te maken van de Spark SQL-module. De Apache Spark api is ook interactief te gebruiken met Python of Scala – direct in de Apache Spark-shell op een cluster. Daarnaast kun je met Zeppelin interactieve en collaboratieve notebooks creëren voor dataverkenning en datavisualisatie.
Apache Spark bevat meerdere libraries waarmee applicaties gebouwd kunnen worden voor machine learning (MLlib), stream processing (Spark Streaming), en graph processing (GraphX). Deze zijn nauw geïntegreerd in het Apache Spark ecosysteem en kunnen out-of-the-box worden toegepast.
Je kunt Apache Spark jobs indienen met de Amazon EMR Step api, Apache Spark gebruiken met EMRFS om data in Amazon S3 direct te benaderen, kosten besparen met de Amazon EC2 Spot-capaciteit en langlopende of korte clusters aanmaken die overeenkomen met je workload. Amazon EMR installeert en beheert Apache Spark op Hadoop Yarn. Daarnaast is het mogelijk om andere Hadoop-ecosysteemapplicaties aan een cluster toe te voegen.