В Apache Spark RDD неизменяемы.
Как насчет наборов данных и фреймов данных? Являются ли они изменяемыми или неизменяемыми (поскольку основная структура по-прежнему является RDD)?
Spark: Как и RDD, наборы данных и кадры данных также неизменны?
comment
все неизменно. Каждая операция возвращает новый DataFrame/DataSet.
- person Saša Zejnilović   schedule 02.07.2020
Ответы (2)
Поскольку структурированные API, такие как DataFrames/Datasets, построены поверх RDD (низкоуровневый API), которые являются неизменяемыми по своей природе, поэтому Dataframes/Datasets являются неизменяемыми по своей природе.
СДР не просто неизменяемы, а являются детерминированной функцией их ввода. Это означает, что RDD можно воссоздать в любое время. Каждый раз, когда RDD присваивается уникальный идентификатор.
myDF.rdd.id() #Before id
myDF = myDF.withColumn("salary",col("salary")*100)
myDF.rdd.id() #After id
person
Shantanu Kher
schedule
07.07.2020
как насчет вычислений вне кучи? Затем я полагаю, что структуры данных, хранящиеся вне кучи, также неизменны.
- person samshers; 07.07.2020
Набор данных принадлежит Spark-SQL API, после LogicalPlan и PhysicalPlan он передается программе RDD. поэтому набор данных неизменен.
person
Pookly
schedule
07.07.2020