Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala Spark:读取表并按分区过滤_Scala_Apache Spark - Fatal编程技术网

Scala Spark:读取表并按分区过滤

Scala Spark:读取表并按分区过滤,scala,apache-spark,Scala,Apache Spark,我想了解Spark的评价 有一个表table_name,它由partition_列进行分区。它是一个以拼花形式存储的外部桌子。 现在,考虑下面的行 val df = spark.read.table(table_name).filter(partition_column=partition_value) 由于Spark的惰性计算,它是否将应用谓词下推并仅扫描分区\列=分区\值的文件夹?或者它将读取整个表格并稍后过滤掉?尝试。解释以查看结果 但是拼花地板确实被压下了 变换、过滤器、映射等都融合在

我想了解Spark的评价

有一个表table_name,它由partition_列进行分区。它是一个以拼花形式存储的外部桌子。 现在,考虑下面的行

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

由于Spark的惰性计算,它是否将应用谓词下推并仅扫描分区\列=分区\值的文件夹?或者它将读取整个表格并稍后过滤掉?

尝试。解释以查看结果

但是拼花地板确实被压下了

变换、过滤器、映射等都融合在一起。懒惰的一面确实是正确的,尽管你在一句话中就做到了


所以,答案是肯定的,Spark将生成代码以在源代码处进行过滤

为了给答案添加细节,如果您有一些列,您需要将所有
partition\u column
列包含到
filter
谓词中。请参见列筛选器的限制