メインコンテンツまでスキップ

java_メソッド

リフレクションを使用してメソッドを呼び出します。

構文

Python
from pyspark.sql import functions as sf

sf.java_method(*cols)

パラメーター

パラメーター

Type

説明

cols

pyspark.sql.Column または文字列

最初の要素はクラス名のリテラル文字列を表す列、2 番目の要素はメソッド名のリテラル文字列を表す列、残りは Java メソッドへの入力引数 (列または列名) になります。

例1 : 列引数を使ったメソッド呼び出しの反映

Python
from pyspark.sql import functions as sf
spark.range(1).select(
sf.java_method(
sf.lit("java.util.UUID"),
sf.lit("fromString"),
sf.lit("a5cf6c42-0c85-418f-af6c-3e4e5b1328f2")
)
).show(truncate=False)
Output
+-----------------------------------------------------------------------------+
|java_method(java.util.UUID, fromString, a5cf6c42-0c85-418f-af6c-3e4e5b1328f2)|
+-----------------------------------------------------------------------------+
|a5cf6c42-0c85-418f-af6c-3e4e5b1328f2 |
+-----------------------------------------------------------------------------+

例2 : 列名引数によるメソッド呼び出しの反映

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([('a5cf6c42-0c85-418f-af6c-3e4e5b1328f2',)], ['a'])
df.select(
sf.java_method(sf.lit('java.util.UUID'), sf.lit('fromString'), 'a')
).show(truncate=False)
Output
+------------------------------------------+
|java_method(java.util.UUID, fromString, a)|
+------------------------------------------+
|a5cf6c42-0c85-418f-af6c-3e4e5b1328f2 |
+------------------------------------------+