我正在尝试使用JOIN ON条件而不是WHERE条件进行分区修剪。 Spark是否提供此功能?
例如,我有一个带有名称和年龄列的数据框DF1。我的HDFS中还有一个名为datawarehouse的目录,在此目录中,我的数据按名称分区,然后按年龄进一步分区。我们将此称为引用数据集DF2。是否可以将DF2与DF2一起加入DF1.name = DF2.name和DF1.age = DF2.age,并且仅遍历相关的名称和年龄目录,以便实际上不读取每个目录中的每个文件?查看日志,似乎spark会遍历每个名称/年龄目录并读取每个文件,即使它与我们尝试从内存数据帧DF1中加入的内容不匹配。
我认为spark应该足够聪明,只知道查看属于DF1的名称/年龄目录,不是吗?