Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Richiama un metodo con riflessione.
Sintassi
from pyspark.sql import functions as sf
sf.java_method(*cols)
Parametri
| Parametro | TIPO | Description |
|---|---|---|
cols |
pyspark.sql.Column o str |
Il primo elemento deve essere una colonna che rappresenta una stringa letterale per il nome della classe e il secondo elemento deve essere una colonna che rappresenta una stringa letterale per il nome del metodo e gli altri sono argomenti di input (colonne o nomi di colonna) al metodo Java. |
Esempi
Esempio 1: Riflettere una chiamata al metodo con un argomento colonna
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)
+-----------------------------------------------------------------------------+
|java_method(java.util.UUID, fromString, a5cf6c42-0c85-418f-af6c-3e4e5b1328f2)|
+-----------------------------------------------------------------------------+
|a5cf6c42-0c85-418f-af6c-3e4e5b1328f2 |
+-----------------------------------------------------------------------------+
Esempio 2: Riflettere una chiamata al metodo con un argomento del nome di colonna
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)
+------------------------------------------+
|java_method(java.util.UUID, fromString, a)|
+------------------------------------------+
|a5cf6c42-0c85-418f-af6c-3e4e5b1328f2 |
+------------------------------------------+