java_method
Appelle une méthode par réflexion.
Syntaxe
Python
from pyspark.sql import functions as sf
sf.java_method(*cols)
parameter
parameter | Type | Description |
|---|---|---|
|
| Le premier élément doit être une colonne représentant une chaîne de caractères littérale pour le nom de la classe, et le deuxième élément doit être une colonne représentant une chaîne de caractères littérale pour le nom de la méthode, et les éléments restants sont des arguments d'entrée (colonnes ou noms de colonnes) pour la méthode Java. |
Exemples
Exemple 1 : Réflexion d'un appel de méthode avec un argument de colonne
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 |
+-----------------------------------------------------------------------------+
Exemple 2 : Reflétant un appel de méthode avec un argument de nom de colonne
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 |
+------------------------------------------+