не могу понять, как функционирует операция Scala в Apache Spark - PullRequest
0 голосов
/ 07 июля 2019

Привет всем,

поэтому я начал изучать архитектуру Apache Spark и понимаю, как работает поток данных на более высоком уровне.

Что я узнал, так это то, что задания Spark работают на этапах, на которых есть задачи для работы с RDDS, в которых они создаются с помощью отложенных преобразований, начиная с консоли Spark. (поправьте меня, если я ошибаюсь)

что я не понял:

  • В Spark существуют другие типы структур данных: Фрейм данных и Набор данных, и есть функции для управления ими,

    так какова связь между этими функциями и задачами, применяемыми к СДР?

  • кодирование в Scala имеет операции над RDD, что, насколько я знаю, логично, и есть также другие типы структур данных, с которыми я могу выполнять операции над ними и манипулировать ими, такими как list, Stream, vector и т. Д. .. так что мой вопрос

    Так как же можно выполнить эти операции, если они не применяются к СДР?

  • У меня есть оценка сложности времени каждого алгоритма, работающего на любом типе структуры данных Scala со ссылкой на официальные документы, но я не могу найти оценку сложности времени операций RDDS, например , count () или ReduceKey (), применяемые в RDDS.

    почему мы не можем точно оценить сложность Spark-приложения и можно ли оценить сложности элементарных задач?

более формально, что такое RDDS и как они связаны со всем в Spark

если бы кто-то мог разъяснить мне эту путаницу в информации, я был бы благодарен.

1 Ответ

0 голосов
/ 08 июля 2019

так какова связь между этими функциями и задачами, применяемыми к СДР? DataFrames, Datasets и RDD - это три API от Spark.Проверьте эту ссылку

так как же можно выполнить эти операции, если они не применяются к СДР? СДР являются структурными структурами данных, Действия и преобразование указанное Spark может быть применено к СДР.В рамках действия или преобразования RDD мы применяем некоторые собственные операции scala.Каждый Spark API имеет свои собственные операции над множествами.Прочитайте ссылку, как показано в предыдущем разделе, чтобы лучше понять, как достигается параллелизм в операциях

, почему мы не можем точно оценить сложность Spark-приложения и можно ли оценитьэлементарные задачи сложности?

В этой статье объясняется карта Уменьшить сложность https://web.stanford.edu/~ashishg/papers/mapreducecomplexity.pdf

...