diff options
author | Xiangrui Meng <meng@databricks.com> | 2016-06-21 00:32:51 -0700 |
---|---|---|
committer | Xiangrui Meng <meng@databricks.com> | 2016-06-21 00:32:51 -0700 |
commit | ce49bfc2550ba8f5a33235c7fc3b88201d63c276 (patch) | |
tree | 061b572eff6d769fd0b021f366f0a60bdf0ddf22 | |
parent | 843a1eba8ec9d5a7beac0c74b54d24cb3c41b45a (diff) | |
download | spark-ce49bfc2550ba8f5a33235c7fc3b88201d63c276.tar.gz spark-ce49bfc2550ba8f5a33235c7fc3b88201d63c276.tar.bz2 spark-ce49bfc2550ba8f5a33235c7fc3b88201d63c276.zip |
Revert "[SPARK-16086] [SQL] fix Python UDF without arguments (for 1.6)"
This reverts commit a46553cbacf0e4012df89fe55385dec5beaa680a.
-rw-r--r-- | python/pyspark/sql/tests.py | 5 | ||||
-rw-r--r-- | python/pyspark/sql/types.py | 9 |
2 files changed, 6 insertions, 8 deletions
diff --git a/python/pyspark/sql/tests.py b/python/pyspark/sql/tests.py index ecd1a0563e..c631ad8a46 100644 --- a/python/pyspark/sql/tests.py +++ b/python/pyspark/sql/tests.py @@ -318,11 +318,6 @@ class SQLTests(ReusedPySparkTestCase): [row] = self.spark.sql("SELECT double(add(1, 2)), add(double(2), 1)").collect() self.assertEqual(tuple(row), (6, 5)) - def test_udf_without_arguments(self): - self.sqlCtx.registerFunction("foo", lambda: "bar") - [row] = self.sqlCtx.sql("SELECT foo()").collect() - self.assertEqual(row[0], "bar") - def test_udf_with_array_type(self): d = [Row(l=list(range(3)), d={"key": list(range(5))})] rdd = self.sc.parallelize(d) diff --git a/python/pyspark/sql/types.py b/python/pyspark/sql/types.py index f0b56be8da..bb2b95404a 100644 --- a/python/pyspark/sql/types.py +++ b/python/pyspark/sql/types.py @@ -1401,7 +1401,11 @@ class Row(tuple): if args and kwargs: raise ValueError("Can not use both args " "and kwargs to create Row") - if kwargs: + if args: + # create row class or objects + return tuple.__new__(self, args) + + elif kwargs: # create row objects names = sorted(kwargs.keys()) row = tuple.__new__(self, [kwargs[n] for n in names]) @@ -1409,8 +1413,7 @@ class Row(tuple): return row else: - # create row class or objects - return tuple.__new__(self, args) + raise ValueError("No args or kwargs") def asDict(self, recursive=False): """ |