aboutsummaryrefslogtreecommitdiff
path: root/sql/core/src/test
diff options
context:
space:
mode:
authorBurak Yavuz <brkyvz@gmail.com>2015-04-30 21:56:03 -0700
committerReynold Xin <rxin@databricks.com>2015-04-30 21:56:03 -0700
commitb5347a4664625ede6ab9d8ef6558457a34ae423f (patch)
tree6d068b5ede427fa4e4658d5d3ebcd9798c64950f /sql/core/src/test
parent69a739c7f5fd002432ece203957e1458deb2f4c3 (diff)
downloadspark-b5347a4664625ede6ab9d8ef6558457a34ae423f.tar.gz
spark-b5347a4664625ede6ab9d8ef6558457a34ae423f.tar.bz2
spark-b5347a4664625ede6ab9d8ef6558457a34ae423f.zip
[SPARK-7248] implemented random number generators for DataFrames
Adds the functions `rand` (Uniform Dist) and `randn` (Normal Dist.) as expressions to DataFrames. cc mengxr rxin Author: Burak Yavuz <brkyvz@gmail.com> Closes #5819 from brkyvz/df-rng and squashes the following commits: 50d69d4 [Burak Yavuz] add seed for test that failed 4234c3a [Burak Yavuz] fix Rand expression 13cad5c [Burak Yavuz] couple fixes 7d53953 [Burak Yavuz] waiting for hive tests b453716 [Burak Yavuz] move radn with seed down 03637f0 [Burak Yavuz] fix broken hive func c5909eb [Burak Yavuz] deleted old implementation of Rand 6d43895 [Burak Yavuz] implemented random generators
Diffstat (limited to 'sql/core/src/test')
-rw-r--r--sql/core/src/test/java/test/org/apache/spark/sql/JavaDataFrameSuite.java3
-rw-r--r--sql/core/src/test/scala/org/apache/spark/sql/ColumnExpressionSuite.scala22
2 files changed, 25 insertions, 0 deletions
diff --git a/sql/core/src/test/java/test/org/apache/spark/sql/JavaDataFrameSuite.java b/sql/core/src/test/java/test/org/apache/spark/sql/JavaDataFrameSuite.java
index 966d879e1f..ebe96e649d 100644
--- a/sql/core/src/test/java/test/org/apache/spark/sql/JavaDataFrameSuite.java
+++ b/sql/core/src/test/java/test/org/apache/spark/sql/JavaDataFrameSuite.java
@@ -104,6 +104,9 @@ public class JavaDataFrameSuite {
df2.select(pow("a", "a"), pow("b", 2.0));
df2.select(pow(col("a"), col("b")), exp("b"));
df2.select(sin("a"), acos("b"));
+
+ df2.select(rand(), acos("b"));
+ df2.select(col("*"), randn(5L));
}
@Ignore
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/ColumnExpressionSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/ColumnExpressionSuite.scala
index 2ba5fc21ff..6322faf4d9 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/ColumnExpressionSuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/ColumnExpressionSuite.scala
@@ -17,6 +17,8 @@
package org.apache.spark.sql
+import org.scalatest.Matchers._
+
import org.apache.spark.sql.functions._
import org.apache.spark.sql.test.TestSQLContext
import org.apache.spark.sql.test.TestSQLContext.implicits._
@@ -349,4 +351,24 @@ class ColumnExpressionSuite extends QueryTest {
assert(schema("value").metadata === Metadata.empty)
assert(schema("abc").metadata === metadata)
}
+
+ test("rand") {
+ val randCol = testData.select('key, rand(5L).as("rand"))
+ randCol.columns.length should be (2)
+ val rows = randCol.collect()
+ rows.foreach { row =>
+ assert(row.getDouble(1) <= 1.0)
+ assert(row.getDouble(1) >= 0.0)
+ }
+ }
+
+ test("randn") {
+ val randCol = testData.select('key, randn(5L).as("rand"))
+ randCol.columns.length should be (2)
+ val rows = randCol.collect()
+ rows.foreach { row =>
+ assert(row.getDouble(1) <= 4.0)
+ assert(row.getDouble(1) >= -4.0)
+ }
+ }
}