Repository: spark
Updated Branches:
  refs/heads/branch-1.0 a61b71cad -> 7486474d6


[SPARK-1778] [SQL] Add 'limit' transformation to SchemaRDD.

Add `limit` transformation to `SchemaRDD`.

Author: Takuya UESHIN <[email protected]>

Closes #711 from ueshin/issues/SPARK-1778 and squashes the following commits:

33169df [Takuya UESHIN] Add 'limit' transformation to SchemaRDD.
(cherry picked from commit 8e94d2721a9d3d36697e13f8cc6567ae8aeee78b)

Signed-off-by: Patrick Wendell <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/7486474d
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/7486474d
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/7486474d

Branch: refs/heads/branch-1.0
Commit: 7486474d6b9809cd5a6664939343351db4da0e18
Parents: a61b71c
Author: Takuya UESHIN <[email protected]>
Authored: Sat May 10 12:03:27 2014 -0700
Committer: Patrick Wendell <[email protected]>
Committed: Sat May 10 12:03:44 2014 -0700

----------------------------------------------------------------------
 .../src/main/scala/org/apache/spark/sql/SchemaRDD.scala     | 9 +++++++++
 .../src/test/scala/org/apache/spark/sql/DslQuerySuite.scala | 6 ++++++
 2 files changed, 15 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/spark/blob/7486474d/sql/core/src/main/scala/org/apache/spark/sql/SchemaRDD.scala
----------------------------------------------------------------------
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 34200be..2569815 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.
    *
    * {{{

http://git-wip-us.apache.org/repos/asf/spark/blob/7486474d/sql/core/src/test/scala/org/apache/spark/sql/DslQuerySuite.scala
----------------------------------------------------------------------
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 be0f4a4..92a707e 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)),

Reply via email to