aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakuya UESHIN <ueshin@happy-camper.st>2014-05-10 12:03:27 -0700
committerPatrick Wendell <pwendell@gmail.com>2014-05-10 12:03:27 -0700
commit8e94d2721a9d3d36697e13f8cc6567ae8aeee78b (patch)
tree8db65f4f2ec6e64d317cb719d4588ff442c619e8
parent4d6055329846f5e09472e5f844127a5ab5880e15 (diff)
downloadspark-8e94d2721a9d3d36697e13f8cc6567ae8aeee78b.tar.gz
spark-8e94d2721a9d3d36697e13f8cc6567ae8aeee78b.tar.bz2
spark-8e94d2721a9d3d36697e13f8cc6567ae8aeee78b.zip
[SPARK-1778] [SQL] Add 'limit' transformation to SchemaRDD.
Add `limit` transformation to `SchemaRDD`. Author: Takuya UESHIN <ueshin@happy-camper.st> Closes #711 from ueshin/issues/SPARK-1778 and squashes the following commits: 33169df [Takuya UESHIN] Add 'limit' transformation to SchemaRDD.
-rw-r--r--sql/core/src/main/scala/org/apache/spark/sql/SchemaRDD.scala9
-rw-r--r--sql/core/src/test/scala/org/apache/spark/sql/DslQuerySuite.scala6
2 files changed, 15 insertions, 0 deletions
diff --git a/sql/core/src/main/scala/org/apache/spark/sql/SchemaRDD.scala b/sql/core/src/main/scala/org/apache/spark/sql/SchemaRDD.scala
index 34200be3ac..2569815ebb 100644
--- a/sql/core/src/main/scala/org/apache/spark/sql/SchemaRDD.scala
+++ b/sql/core/src/main/scala/org/apache/spark/sql/SchemaRDD.scala
@@ -179,6 +179,15 @@ class SchemaRDD(
new SchemaRDD(sqlContext, Sort(sortExprs, logicalPlan))
/**
+ * Limits the results by the given expressions.
+ * {{{
+ * schemaRDD.limit(10)
+ * }}}
+ */
+ def limit(limitExpr: Expression): SchemaRDD =
+ new SchemaRDD(sqlContext, Limit(limitExpr, logicalPlan))
+
+ /**
* Performs a grouping followed by an aggregation.
*
* {{{
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/DslQuerySuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/DslQuerySuite.scala
index be0f4a4c73..92a707ea57 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/DslQuerySuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/DslQuerySuite.scala
@@ -71,6 +71,12 @@ class DslQuerySuite extends QueryTest {
Seq((3,1), (3,2), (2,1), (2,2), (1,1), (1,2)))
}
+ test("limit") {
+ checkAnswer(
+ testData.limit(10),
+ testData.take(10).toSeq)
+ }
+
test("average") {
checkAnswer(
testData2.groupBy()(Average('a)),