1
在這段代碼從Spark Programming Guide,懶評價SparkSQL
# The result of loading a parquet file is also a DataFrame.
parquetFile = sqlContext.read.parquet("people.parquet")
# Parquet files can also be registered as tables and then used in SQL statements.
parquetFile.registerTempTable("parquetFile");
teenagers = sqlContext.sql("SELECT name FROM parquetFile WHERE age >= 13 AND age <= 19")
teenagers.collect()
究竟發生在Java堆(如何星火存儲管理)時,每行執行?
我有這些問題的具體
- 是sqlContext.read.parquet懶惰?它是否會導致整個鑲木地板文件被加載到內存中?
當執行collect操作時,對於要應用的SQL查詢,
a。是整個實木複合地板首先作爲RDD存儲並且然後被處理或者
b。是首先處理的鑲木地板文件,只選擇
name
列,然後將其存儲爲RDD,然後根據Spark的age
條件進行過濾?
'DataFrameReader'操作通常不是懶惰的。他們需要元數據或數據訪問取決於來源。 – zero323
請提供參考您的評論 –
該參考文獻在DataFrame的代碼源@atulgupta – eliasah