如果我在 KuduRDD 上执行过滤器,那么首先 Spark 作业从 Kudu 表中读取所有数据并在 Spark 应用程序中执行过滤器作业,或者过滤发生在 Kudu 服务器上,而 Spark 应用程序只接收过滤后的数据?
问问题
292 次
1 回答
1
所有数据都将RDD
首先被提取到 Spark。kuduRDD
只返回一个普通RDD[Row]
的:
def kuduRDD(sc: SparkContext,
tableName: String,
columnProjection: Seq[String] = Nil): RDD[Row] = { ...
并且之后没有特别的优化。
使用Dataframe
API,根据在 Apache Kudu 上使用 Apache Spark 启动并运行,可以下推以下谓词:
等于 (=)
大于 (>)
大于或等于 (>=)
小于 (<)
小于或等于 (<=)
于 2018-01-20T16:56:14.207 回答