从KuduRDD过滤发生在Spark Application或Kudu Server中?

时间:2018-01-20 16:28:30

标签: apache-spark apache-kudu

如果我在KuduRDD上执行过滤器,那么首先Spark作业读取Kudu表中的所有数据并在Spark应用程序中执行过滤器作业,或者在Kudu Server上进行过滤,并且Spark应用程序仅接收过滤数据?

1 个答案:

答案 0 :(得分:1)

使用RDD,所有数据将首先被提取到Spark。 kuduRDD仅返回plain RDD[Row]

def kuduRDD(sc: SparkContext,
            tableName: String,
            columnProjection: Seq[String] = Nil): RDD[Row] = { ...

之后没有特别的优化。

使用Dataframe API,根据Up and running with Apache Spark on Apache Kudu,可以推送以下谓词:

  

等于(=)

     

大于(>)

     

大于或等于(> =)

     

小于(<)

     

小于或等于(< =)