Использует ли 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 внутренне также с уменьшением карты?
Привет @howie, ну ... «Почему spark лучше для машинного обучения» - это не мой вопрос, вопрос, который у меня действительно есть: «это правда, что искра использует карту, уменьшая внутренне», как вы говорите «Spark Mlib все еще использует карту уменьшить", ну как? Где я могу найти больше информации об этом. Спасибо за ответ
Позвольте мне уточнить ваш вопрос: знаете ли вы разницу между MapReduce Spark и MapReduce Hadoop? Если нет, то у этого видео есть хороший ответ youtube.com/watch?v=iaw5kG9q6xw. Или ваш вопрос заключается в том, как Spark Mlib использует уменьшение карты для программы машинного обучения?
Возможный дубликат Чем Apache Spark отличается от подхода Hadoop?. Дополнительно MapReduce или Spark
@user10465355 user10465355 В ваших ссылках сравнивается искра с уменьшением карты, мой вопрос в том, использует ли Spark также уменьшение карты.
Извините ~ Я хотел бы внести поправку в свой ответ. На самом деле искра использует DAG (направленный ациклический граф), а не традиционную карту. Вы можете думать об этом как об альтернативе Map Reduce. В то время как MR имеет всего два шага (сопоставление и уменьшение), DAG может иметь несколько уровней, которые могут образовывать древовидную структуру. Таким образом, вы можете написать mapreduce как программу в искре, но внутренняя искра запускается на DAG.





Spark оснащен усовершенствованным механизмом направленного ациклического графа (DAG), поддерживающим циклический поток данных. Каждое задание Spark создает группу DAG этапов задач, которые должны выполняться в кластере. По сравнению с MapReduce, который создает DAG с двумя предопределенными этапами — Map и Reduce, DAG, созданные Spark, могут содержать любое количество этапов. DAG — это строгое обобщение модели MapReduce. Это позволяет выполнять некоторые задания быстрее, чем в MapReduce, при этом простые задания завершаются всего за один этап, а более сложные задачи выполняются за один прогон многих этапов, а не разбиваются на несколько заданий.
Таким образом, Spark может написать программу уменьшения карты, но на самом деле использовать DAG внутри.
Ссылка:
Я думаю, вы запутались между алгоритмами MapReduce и MapRecude Hadoop. Spark Mlib по-прежнему использует уменьшение карты. Таким образом, вопрос может измениться на [Почему Spark быстрее или лучше для машинного обучения] (stackoverflow.com/questions/32572529/…)