在pyspark数据框中加载较少的列是否有任何性能(或其他优点)?

问题描述 投票:0回答:1

在pyspark数据框中加载较少的列是否有任何性能(或其他优点)?

[基本上,我的用例是,我有一个大表(许多行,许多列)作为数据帧加载到其中,以根据两者中的匹配键来过滤另一个表,例如...

filter_table = sparksession.read.load("/some/path/to/files").select("PK").dropDuplicates()
table_to_filter = table_to_filter.join(filter_table.select("PK"), "PK", "leftsemi")

我的问题是:像这样加载表有什么好处?>

filter_table = sparksession.read.load("/some/path/to/files").select("PK")

vs

filter_table = sparksession.read.load("/some/path/to/files")

[我怀疑我对spark的惰性评估如何工作感到困惑(这是使用spark的新手),但我会认为,由于我只将表与.select("PK")一起使用,所以没有区别(除非存储了整个数据帧一旦加载(不仅在评估中)在内存中?

在pyspark数据框中加载较少的列是否有任何性能(或其他)好处?基本上,我的用例是我有一个大表(很多行,很多列)要以...

apache-spark pyspark-sql
1个回答
0
投票

阅读很少的几列肯定会带来性能上的好处,好处的程度取决于数据格式和来源。

© www.soinside.com 2019 - 2024. All rights reserved.