Использовать Spark внутри Map-Reduce?

Использует ли Spark Map Reduce внутри? (его собственная карта уменьшена)

В первый раз, когда я слышу, как кто-то говорит мне: «Spark использует map-reduce», я был так сбит с толку, что всегда знал, что искра — главный противник Hadoop-Map Reduce.

После проверки в Google я только что нашел веб-сайт, который дает слишком короткое объяснение по этому поводу: https://dzone.com/articles/how-does-spark-use-mapreduce

Но остальная часть Интернета посвящена Spark vs Map Reduce.

Затем кто-нибудь объяснит мне, что когда искра создает RDD, данные разбиваются на разные наборы данных, и если вы используете, например, SPAR.SQL, запрос, который не должен быть уменьшением карты, например:

select student 
from Table_students 
where name = "Enrique"

Внутри Spark выполняет уменьшение карты для извлечения данных (из разных наборов данных).

Это правда?

Если я использую Spark Mlib для использования машинного обучения, я всегда слышал, что машинное обучение несовместимо с уменьшением карты, потому что для этого требуется так много взаимодействий, а уменьшение карты использует пакетную обработку.

В Spark Mlib используется ли Spark внутренне также с уменьшением карты?

Я думаю, вы запутались между алгоритмами MapReduce и MapRecude Hadoop. Spark Mlib по-прежнему использует уменьшение карты. Таким образом, вопрос может измениться на [Почему Spark быстрее или лучше для машинного обучения] (stackoverflow.com/questions/32572529/…)

howie 03.02.2019 10:56

Привет @howie, ну ... «Почему spark лучше для машинного обучения» - это не мой вопрос, вопрос, который у меня действительно есть: «это правда, что искра использует карту, уменьшая внутренне», как вы говорите «Spark Mlib все еще использует карту уменьшить", ну как? Где я могу найти больше информации об этом. Спасибо за ответ

Enrique Benito Casado 03.02.2019 11:11

Позвольте мне уточнить ваш вопрос: знаете ли вы разницу между MapReduce Spark и MapReduce Hadoop? Если нет, то у этого видео есть хороший ответ youtube.com/watch?v=iaw5kG9q6xw. Или ваш вопрос заключается в том, как Spark Mlib использует уменьшение карты для программы машинного обучения?

howie 03.02.2019 11:19

Возможный дубликат Чем Apache Spark отличается от подхода Hadoop?. Дополнительно MapReduce или Spark

10465355 03.02.2019 12:53

@user10465355 user10465355 В ваших ссылках сравнивается искра с уменьшением карты, мой вопрос в том, использует ли Spark также уменьшение карты.

Enrique Benito Casado 03.02.2019 20:21

Извините ~ Я хотел бы внести поправку в свой ответ. На самом деле искра использует DAG (направленный ациклический граф), а не традиционную карту. Вы можете думать об этом как об альтернативе Map Reduce. В то время как MR имеет всего два шага (сопоставление и уменьшение), DAG может иметь несколько уровней, которые могут образовывать древовидную структуру. Таким образом, вы можете написать mapreduce как программу в искре, но внутренняя искра запускается на DAG.

howie 04.02.2019 00:22
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
6
1 514
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Spark оснащен усовершенствованным механизмом направленного ациклического графа (DAG), поддерживающим циклический поток данных. Каждое задание Spark создает группу DAG этапов задач, которые должны выполняться в кластере. По сравнению с MapReduce, который создает DAG с двумя предопределенными этапами — Map и Reduce, DAG, созданные Spark, могут содержать любое количество этапов. DAG — это строгое обобщение модели MapReduce. Это позволяет выполнять некоторые задания быстрее, чем в MapReduce, при этом простые задания завершаются всего за один этап, а более сложные задачи выполняются за один прогон многих этапов, а не разбиваются на несколько заданий.

Таким образом, Spark может написать программу уменьшения карты, но на самом деле использовать DAG внутри.

Ссылка:

Другие вопросы по теме