我是Spark的初学者,并试图了解spark数据帧的机制。 我在从csv verses parquet加载数据时比较了spark sql数据帧上sql查询的性能。我的理解是,一旦将数据加载到火花数据框中,数据源自何处(csv或镶木地板)就不重要了。但是我发现两者之间存在显着的性能差异。我正在使用以下命令加载数据,并在其中编写查询。
dataframe_csv = sqlcontext.read.format("csv").load()
dataframe_parquet = sqlcontext.read.parquet()
请解释差异的原因。
答案 0 :(得分:0)
之所以看到csv和parquet的性能不同,是因为parquet具有列式存储,而csv具有纯文本格式。列式存储更好地实现了较小的存储大小,但纯文本从数据框中读取的速度更快。