火花:读取表并按分区过滤

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

我正在尝试了解Spark的评估。

[存在一个表table_name,该表由partition_column分区。这是一个以实木复合地板格式存储的外部表。现在,请考虑以下行

val df = spark.read.table(table_name).filter(partition_column=partition_value)

由于Spark的懒惰评估,它将应用谓词下推并且仅扫描其中partition_column = partition_value的文件夹?还是要读取整个表格并稍后过滤掉?

scala apache-spark
1个回答
1
投票

尝试。explain自己查看结果。

但是实木复合地板的确被推下。

转换,过滤器,映射等都融合在一起。懒惰的方面确实是正确的,尽管您只用一条语句就做到了。

因此答案为是,Spark将生成代码以在源处进行过滤。

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