spark git commit: [SPARK-8038] [SQL] [PYSPARK] fix Column.when() and otherwise()

2015-06-02 Thread rxin
Repository: spark
Updated Branches:
  refs/heads/branch-1.4 cbaf59544 -> 6b0f61563


[SPARK-8038] [SQL] [PYSPARK] fix Column.when() and otherwise()

Thanks ogirardot, closes #6580

cc rxin JoshRosen

Author: Davies Liu 

Closes #6590 from davies/when and squashes the following commits:

c0f2069 [Davies Liu] fix Column.when() and otherwise()

(cherry picked from commit 605ddbb27c8482fc0107b21c19d4e4ae19348f35)
Signed-off-by: Reynold Xin 


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

Branch: refs/heads/branch-1.4
Commit: 6b0f61563dd93b4225f31aafe6546cf0a11bf9a6
Parents: cbaf595
Author: Davies Liu 
Authored: Tue Jun 2 13:38:06 2015 -0700
Committer: Reynold Xin 
Committed: Tue Jun 2 13:38:14 2015 -0700

--
 python/pyspark/sql/column.py | 31 ---
 1 file changed, 28 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/spark/blob/6b0f6156/python/pyspark/sql/column.py
--
diff --git a/python/pyspark/sql/column.py b/python/pyspark/sql/column.py
index 8dc5039..1ecec5b 100644
--- a/python/pyspark/sql/column.py
+++ b/python/pyspark/sql/column.py
@@ -315,6 +315,14 @@ class Column(object):
 """
 A boolean expression that is evaluated to true if the value of this
 expression is between the given columns.
+
+>>> df.select(df.name, df.age.between(2, 4)).show()
++-+--+
+| name|((age >= 2) && (age <= 4))|
++-+--+
+|Alice|  true|
+|  Bob| false|
++-+--+
 """
 return (self >= lowerBound) & (self <= upperBound)
 
@@ -328,12 +336,20 @@ class Column(object):
 
 :param condition: a boolean :class:`Column` expression.
 :param value: a literal value, or a :class:`Column` expression.
+
+>>> from pyspark.sql import functions as F
+>>> df.select(df.name, F.when(df.age > 4, 1).when(df.age < 3, 
-1).otherwise(0)).show()
++-++
+| name|CASE WHEN (age > 4) THEN 1 WHEN (age < 3) THEN -1 ELSE 0|
++-++
+|Alice|  -1|
+|  Bob|   1|
++-++
 """
-sc = SparkContext._active_spark_context
 if not isinstance(condition, Column):
 raise TypeError("condition should be a Column")
 v = value._jc if isinstance(value, Column) else value
-jc = sc._jvm.functions.when(condition._jc, v)
+jc = self._jc.when(condition._jc, v)
 return Column(jc)
 
 @since(1.4)
@@ -345,9 +361,18 @@ class Column(object):
 See :func:`pyspark.sql.functions.when` for example usage.
 
 :param value: a literal value, or a :class:`Column` expression.
+
+>>> from pyspark.sql import functions as F
+>>> df.select(df.name, F.when(df.age > 3, 1).otherwise(0)).show()
++-+-+
+| name|CASE WHEN (age > 3) THEN 1 ELSE 0|
++-+-+
+|Alice|0|
+|  Bob|1|
++-+-+
 """
 v = value._jc if isinstance(value, Column) else value
-jc = self._jc.otherwise(value)
+jc = self._jc.otherwise(v)
 return Column(jc)
 
 @since(1.4)


-
To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org
For additional commands, e-mail: commits-h...@spark.apache.org



spark git commit: [SPARK-8038] [SQL] [PYSPARK] fix Column.when() and otherwise()

2015-06-02 Thread rxin
Repository: spark
Updated Branches:
  refs/heads/master 686a45f0b -> 605ddbb27


[SPARK-8038] [SQL] [PYSPARK] fix Column.when() and otherwise()

Thanks ogirardot, closes #6580

cc rxin JoshRosen

Author: Davies Liu 

Closes #6590 from davies/when and squashes the following commits:

c0f2069 [Davies Liu] fix Column.when() and otherwise()


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

Branch: refs/heads/master
Commit: 605ddbb27c8482fc0107b21c19d4e4ae19348f35
Parents: 686a45f
Author: Davies Liu 
Authored: Tue Jun 2 13:38:06 2015 -0700
Committer: Reynold Xin 
Committed: Tue Jun 2 13:38:06 2015 -0700

--
 python/pyspark/sql/column.py | 31 ---
 1 file changed, 28 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/spark/blob/605ddbb2/python/pyspark/sql/column.py
--
diff --git a/python/pyspark/sql/column.py b/python/pyspark/sql/column.py
index 8dc5039..1ecec5b 100644
--- a/python/pyspark/sql/column.py
+++ b/python/pyspark/sql/column.py
@@ -315,6 +315,14 @@ class Column(object):
 """
 A boolean expression that is evaluated to true if the value of this
 expression is between the given columns.
+
+>>> df.select(df.name, df.age.between(2, 4)).show()
++-+--+
+| name|((age >= 2) && (age <= 4))|
++-+--+
+|Alice|  true|
+|  Bob| false|
++-+--+
 """
 return (self >= lowerBound) & (self <= upperBound)
 
@@ -328,12 +336,20 @@ class Column(object):
 
 :param condition: a boolean :class:`Column` expression.
 :param value: a literal value, or a :class:`Column` expression.
+
+>>> from pyspark.sql import functions as F
+>>> df.select(df.name, F.when(df.age > 4, 1).when(df.age < 3, 
-1).otherwise(0)).show()
++-++
+| name|CASE WHEN (age > 4) THEN 1 WHEN (age < 3) THEN -1 ELSE 0|
++-++
+|Alice|  -1|
+|  Bob|   1|
++-++
 """
-sc = SparkContext._active_spark_context
 if not isinstance(condition, Column):
 raise TypeError("condition should be a Column")
 v = value._jc if isinstance(value, Column) else value
-jc = sc._jvm.functions.when(condition._jc, v)
+jc = self._jc.when(condition._jc, v)
 return Column(jc)
 
 @since(1.4)
@@ -345,9 +361,18 @@ class Column(object):
 See :func:`pyspark.sql.functions.when` for example usage.
 
 :param value: a literal value, or a :class:`Column` expression.
+
+>>> from pyspark.sql import functions as F
+>>> df.select(df.name, F.when(df.age > 3, 1).otherwise(0)).show()
++-+-+
+| name|CASE WHEN (age > 3) THEN 1 ELSE 0|
++-+-+
+|Alice|0|
+|  Bob|1|
++-+-+
 """
 v = value._jc if isinstance(value, Column) else value
-jc = self._jc.otherwise(value)
+jc = self._jc.otherwise(v)
 return Column(jc)
 
 @since(1.4)


-
To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org
For additional commands, e-mail: commits-h...@spark.apache.org