【发布时间】:2023-04-04 07:22:02
【问题描述】:
对于任何软件架构师来说,这可能是一个基本问题,但我对这个概念感到困惑。
假设我有一个存储在 hdfs 上的大型 Spark DataFrame。我现在做这样的过滤操作:
df_new = my_big_hdfs_df.where("my_column='testvalue'")
print(type(df_new))
类'pyspark.sql.dataframe.DataFrame'>
df_new 究竟存储在哪里?如果这是普通的python,我猜想在内存中的某个地方。但对于 PySpark 也是如此吗?还是只是某种参考?它是否保留在 hdfs 某处的磁盘上?
【问题讨论】:
-
AFAIK
df_new的内容目前实际上并未存储在任何地方。 Spark 是懒惰的,所以它不会评估df_new直到它需要。现在它只存储创建df_new所需的指令。
标签: python hadoop apache-spark pyspark hdfs