aboutsummaryrefslogtreecommitdiff
path: root/sql/core
diff options
context:
space:
mode:
authorLiang-Chi Hsieh <viirya@gmail.com>2016-01-13 10:26:55 -0800
committerDavies Liu <davies.liu@gmail.com>2016-01-13 10:26:55 -0800
commit63eee86cc652c108ca7712c8c0a73db1ca89ae90 (patch)
tree341aa599d17ca0c723b6ac13d1f57ec512a249c6 /sql/core
parentd6fd9b376b7071aecef34dc82a33eba42b183bc9 (diff)
downloadspark-63eee86cc652c108ca7712c8c0a73db1ca89ae90.tar.gz
spark-63eee86cc652c108ca7712c8c0a73db1ca89ae90.tar.bz2
spark-63eee86cc652c108ca7712c8c0a73db1ca89ae90.zip
[SPARK-9297] [SQL] Add covar_pop and covar_samp
JIRA: https://issues.apache.org/jira/browse/SPARK-9297 Add two aggregation functions: covar_pop and covar_samp. Author: Liang-Chi Hsieh <viirya@gmail.com> Author: Liang-Chi Hsieh <viirya@appier.com> Closes #10029 from viirya/covar-funcs.
Diffstat (limited to 'sql/core')
-rw-r--r--sql/core/src/main/scala/org/apache/spark/sql/functions.scala40
1 files changed, 40 insertions, 0 deletions
diff --git a/sql/core/src/main/scala/org/apache/spark/sql/functions.scala b/sql/core/src/main/scala/org/apache/spark/sql/functions.scala
index 592d79df31..71fea2716b 100644
--- a/sql/core/src/main/scala/org/apache/spark/sql/functions.scala
+++ b/sql/core/src/main/scala/org/apache/spark/sql/functions.scala
@@ -309,6 +309,46 @@ object functions extends LegacyFunctions {
countDistinct(Column(columnName), columnNames.map(Column.apply) : _*)
/**
+ * Aggregate function: returns the population covariance for two columns.
+ *
+ * @group agg_funcs
+ * @since 2.0.0
+ */
+ def covar_pop(column1: Column, column2: Column): Column = withAggregateFunction {
+ CovPopulation(column1.expr, column2.expr)
+ }
+
+ /**
+ * Aggregate function: returns the population covariance for two columns.
+ *
+ * @group agg_funcs
+ * @since 2.0.0
+ */
+ def covar_pop(columnName1: String, columnName2: String): Column = {
+ covar_pop(Column(columnName1), Column(columnName2))
+ }
+
+ /**
+ * Aggregate function: returns the sample covariance for two columns.
+ *
+ * @group agg_funcs
+ * @since 2.0.0
+ */
+ def covar_samp(column1: Column, column2: Column): Column = withAggregateFunction {
+ CovSample(column1.expr, column2.expr)
+ }
+
+ /**
+ * Aggregate function: returns the sample covariance for two columns.
+ *
+ * @group agg_funcs
+ * @since 2.0.0
+ */
+ def covar_samp(columnName1: String, columnName2: String): Column = {
+ covar_samp(Column(columnName1), Column(columnName2))
+ }
+
+ /**
* Aggregate function: returns the first value in a group.
*
* @group agg_funcs