Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ez egy speciális verziója reflect , amely ugyanazt a műveletet hajtja végre, de null értéket ad vissza ahelyett, hogy hibát jelezne, ha a meghívási módszer kivételt eredményez.
Szemantika
from pyspark.sql import functions as sf
sf.try_reflect(*cols)
Paraméterek
| Paraméter | Típus | Description |
|---|---|---|
cols |
pyspark.sql.Column vagy str |
Az első elemnek egy oszlopnak kell lennie, amely az osztálynévhez tartozó literális sztringet jelöli, a második elemnek pedig egy oszlopnak kell lennie, amely a metódusnévhez tartozó literális sztringet jelöli, a fennmaradóak pedig a Java-metódus bemeneti argumentumai (oszlopok vagy oszlopnevek). |
Példák
1. példa: Metódushívás tükrözése argumentumokkal
from pyspark.sql import functions as sf
df = spark.createDataFrame([("a5cf6c42-0c85-418f-af6c-3e4e5b1328f2",)], ["a"])
df.select(
sf.try_reflect(sf.lit("java.util.UUID"), sf.lit("fromString"), "a")
).show(truncate=False)
+------------------------------------------+
|try_reflect(java.util.UUID, fromString, a)|
+------------------------------------------+
|a5cf6c42-0c85-418f-af6c-3e4e5b1328f2 |
+------------------------------------------+
2. példa: A tükröződési hívás kivétele, amely null értéket eredményez
from pyspark.sql import functions as sf
spark.range(1).select(
sf.try_reflect(sf.lit("scala.Predef"), sf.lit("require"), sf.lit(False))
).show(truncate=False)
+-----------------------------------------+
|try_reflect(scala.Predef, require, false)|
+-----------------------------------------+
|NULL |
+-----------------------------------------+