ユーザー定義関数
Python のユーザー定義関数。
このクラスのコンストラクターは直接呼び出されることは想定されていません。インスタンスを作成するには、 pyspark.sql.functions.udfまたはpyspark.sql.functions.pandas_udfを使用します。
構文
Python
from pyspark.sql.functions import udf
from pyspark.sql.types import StringType
my_udf = udf(lambda x: x.upper(), StringType())
プロパティ
属性 | 説明 |
|---|---|
ユーザー定義関数の戻り値の型を DataType として指定します。 |
方法
手法 | 説明 |
|---|---|
UserDefinedFunction を非決定論的に更新します。 |
例
Python
from pyspark.sql.functions import udf
from pyspark.sql.types import StringType
upper_udf = udf(lambda x: x.upper(), StringType())
df = spark.createDataFrame([("alice",), ("bob",)], ["name"])
df.select(upper_udf("name")).show()
Output
+-----------+
|<lambda>(name)|
+-----------+
| ALICE|
| BOB|
+-----------+
Python
import random
from pyspark.sql.functions import udf
from pyspark.sql.types import IntegerType
random_udf = udf(lambda: random.randint(0, 100), IntegerType()).asNondeterministic()
random_udf.returnType
Output
IntegerType()