org.apache.spark.sql.catalyst.expressions.codegen.GeneratePredicate Scala Examples
The following examples show how to use org.apache.spark.sql.catalyst.expressions.codegen.GeneratePredicate.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
Example 1
Source File: FilterNode.scala From BigDatalog with Apache License 2.0 | 5 votes |
package org.apache.spark.sql.execution.local import org.apache.spark.sql.SQLConf import org.apache.spark.sql.catalyst.InternalRow import org.apache.spark.sql.catalyst.expressions.{Attribute, Expression} import org.apache.spark.sql.catalyst.expressions.codegen.GeneratePredicate case class FilterNode(conf: SQLConf, condition: Expression, child: LocalNode) extends UnaryLocalNode(conf) { private[this] var predicate: (InternalRow) => Boolean = _ override def output: Seq[Attribute] = child.output override def open(): Unit = { child.open() predicate = GeneratePredicate.generate(condition, child.output) } override def next(): Boolean = { var found = false while (!found && child.next()) { found = predicate.apply(child.fetch()) } found } override def fetch(): InternalRow = child.fetch() override def close(): Unit = child.close() }