Category: Big Data & Analytics


Apache Spark – за рамками MapReduce

Виталий Федоренко (Vitalii Fedorenko), AWS Big Data Cloud Architect
Author: Vitalii Fedorenko

Данная статья это вольный перевод одного из наиболее популярных AWS постов об Apache Spark Джона Фрица.

Как многим из Вас уже известно, веб-сервис Amazon EMR упрощает обработку и анализ больших объемов данных используя такие библиотеки как Hadoop, Hive, HBase, Presto, Impala и Spark. В то время как Hadoop MapReduce все еще популярен для обработки больших объёмов данных, анализа неструктурированных данных и машинного обучения, Apache Spark стал вытеснять его, обеспечивая лучшую производительность кластера и скорость разработки. Используя движок на основе направленного ациклического графа (DAG), Spark создает более эффективный план выполнения запросов преобразования данных. Кроме того, Spark использует отказоустойчивые распределенные наборы данных (RDD), сохраняя промежуточные, входные и выходные данные в памяти, а не на диске. Эти элементы функциональности повышают производительность определенных программ по сравнению с Hadoop (к примеру, машинное обучение), так как MapReduce выполняет задачи по последовательной схеме и затрачивает большее количество ресурсов на ввод-вывод промежуточных данных на диск.

Spark поддерживает такие языки программирования как Scala, Python, Java, и SQL API, популярные алгоритмы машинного обучения, обработку графов и потоков данных. В Spark есть множество параметров которые упрощают разработку по сравнению с различными абстракциями, обернутыми вокруг Hadoop MapReduce API.

Spark на Amazon EMR

Вы можете создавать масштабируемые Spark кластера с различными типами EC2 инстансов непосредственно из консоли Amazon EMR, CLI или API. Работая в контейнере EMR, Spark может читать данные через EMRFS напрямую из S3, пересылать логи в хранилище данных S3, использовать Spot EC2 для снижения затрат, а также интегрироваться с такими функциями безопасности AWS как IAM роли, группы безопасности EC2 и шифрование S3 в состоянии покоя (на стороне сервера или клиента). Одним из основных достоинств является то, что нет никакой дополнительной платы за Spark на AWS EMR.

Читать дальше