Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Anropar en metod med reflektion.
Syntax
from pyspark.sql import functions as sf
sf.java_method(*cols)
Parameterar
| Parameter | Typ | Description |
|---|---|---|
cols |
pyspark.sql.Column eller str |
Det första elementet ska vara en kolumn som representerar literalsträngen för klassnamnet, och det andra elementet ska vara en kolumn som representerar literalsträngen för metodnamnet, och de återstående är indataargument (kolumner eller kolumnnamn) till Java-metoden. |
Examples
Exempel 1: Återspeglar ett metodanrop med ett kolumnargument
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 |
+-----------------------------------------------------------------------------+
Exempel 2: Återspeglar ett metodanrop med ett kolumnnamnsargument
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 |
+------------------------------------------+