在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数据框中加载较少的列是否有任何性能(或其他)好处?基本上,我的用例是我有一个大表(很多行,很多列)要以...
阅读很少的几列肯定会带来性能上的好处,好处的程度取决于数据格式和来源。