Skip to content

Commit d1ba703

Browse files
committed
try
1 parent f099261 commit d1ba703

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

python/pyspark/sql/udf.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,8 @@ class UserDefinedFunction(object):
6868
"""
6969
def __init__(self, func,
7070
returnType=StringType(), name=None,
71-
evalType=PythonEvalType.SQL_BATCHED_UDF):
71+
evalType=PythonEvalType.SQL_BATCHED_UDF,
72+
deterministic=True):
7273
if not callable(func):
7374
raise TypeError(
7475
"Invalid function: not a function or callable (__call__ is not defined): "
@@ -92,7 +93,7 @@ def __init__(self, func,
9293
func.__name__ if hasattr(func, '__name__')
9394
else func.__class__.__name__)
9495
self.evalType = evalType
95-
self._deterministic = True
96+
self.deterministic = deterministic
9697

9798
@property
9899
def returnType(self):
@@ -130,7 +131,7 @@ def _create_judf(self):
130131
wrapped_func = _wrap_function(sc, self.func, self.returnType)
131132
jdt = spark._jsparkSession.parseDataType(self.returnType.json())
132133
judf = sc._jvm.org.apache.spark.sql.execution.python.UserDefinedPythonFunction(
133-
self._name, wrapped_func, jdt, self.evalType, self._deterministic)
134+
self._name, wrapped_func, jdt, self.evalType, self.deterministic)
134135
return judf
135136

136137
def __call__(self, *cols):
@@ -162,8 +163,8 @@ def wrapper(*args):
162163
wrapper.func = self.func
163164
wrapper.returnType = self.returnType
164165
wrapper.evalType = self.evalType
166+
wrapper.deterministic = self.deterministic
165167
wrapper.asNondeterministic = self.asNondeterministic
166-
wrapper._deterministic = self._deterministic
167168

168169
return wrapper
169170

@@ -173,5 +174,5 @@ def asNondeterministic(self):
173174
174175
.. versionadded:: 2.3
175176
"""
176-
self._deterministic = False
177-
return self
177+
self.deterministic = False
178+
return self._wrapped()

0 commit comments

Comments
 (0)