Привет всем,
поэтому я начал изучать архитектуру Apache Spark и понимаю, как работает поток данных на более высоком уровне.
Что я узнал, так это то, что задания Spark работают на этапах, на которых есть задачи для работы с RDDS, в которых они создаются с помощью отложенных преобразований, начиная с консоли Spark. (поправьте меня, если я ошибаюсь)
что я не понял:
В Spark существуют другие типы структур данных: Фрейм данных и Набор данных, и есть функции для управления ими,
так какова связь между этими функциями и задачами, применяемыми к СДР?
кодирование в Scala имеет операции над RDD, что, насколько я знаю, логично, и есть также другие типы структур данных, с которыми я могу выполнять операции над ними и манипулировать ими, такими как list, Stream, vector и т. Д. .. так что мой вопрос
Так как же можно выполнить эти операции, если они не применяются к СДР?
У меня есть оценка сложности времени каждого алгоритма, работающего на любом типе структуры данных Scala со ссылкой на официальные документы, но я не могу найти оценку сложности времени операций RDDS, например , count () или ReduceKey (), применяемые в RDDS.
почему мы не можем точно оценить сложность Spark-приложения и можно ли оценить сложности элементарных задач?
более формально, что такое RDDS и как они связаны со всем в Spark
если бы кто-то мог разъяснить мне эту путаницу в информации, я был бы благодарен.