Github user cloud-fan commented on a diff in the pull request: https://github.com/apache/spark/pull/20171#discussion_r160310548 --- Diff: python/pyspark/sql/tests.py --- @@ -3616,6 +3616,34 @@ def test_vectorized_udf_basic(self): bool_f(col('bool'))) self.assertEquals(df.collect(), res.collect()) + def test_register_vectorized_udf_basic(self): + from pyspark.sql.functions import pandas_udf + from pyspark.rdd import PythonEvalType + twoArgsPandasUDF = pandas_udf(lambda x: len(x), IntegerType()) + self.assertEqual(twoArgsPandasUDF.deterministic, True) + self.assertEqual(twoArgsPandasUDF.evalType, PythonEvalType.SQL_PANDAS_SCALAR_UDF) + newPandasUDF = self.spark.catalog.registerFunction( + "twoArgsPandasUDF", twoArgsPandasUDF, IntegerType()) + self.assertEqual(newPandasUDF.deterministic, True) + self.assertEqual(newPandasUDF.evalType, PythonEvalType.SQL_PANDAS_SCALAR_UDF) + [row] = self.spark.sql("SELECT twoArgsPandasUDF('test')").collect() + self.assertEqual(row[0], 4) + + def test_register_nondeterministic_vectorized_udf_basic(self): + from pyspark.sql.functions import pandas_udf + from pyspark.rdd import PythonEvalType + import random + randomPandasUDF = pandas_udf( + lambda x: random.randint(6, 6) + x, StringType()).asNondeterministic() --- End diff -- good question, also cc @ueshin
--- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org