Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Hierbei handelt es sich um eine spezielle Version, die reflect denselben Vorgang ausführt, aber einen NULL-Wert zurückgibt, anstatt einen Fehler zu auslösen, wenn die Invoke-Methode eine Ausnahme ausgelöst hat.
Syntax
from pyspark.sql import functions as sf
sf.try_reflect(*cols)
Die Parameter
| Parameter | Typ | Description |
|---|---|---|
cols |
pyspark.sql.Column oder str |
Das erste Element sollte eine Spalte sein, die literale Zeichenfolge für den Klassennamen darstellt, und das zweite Element sollte eine Spalte sein, die literale Zeichenfolge für den Methodennamen darstellt, und die verbleibenden sind Eingabeargumente (Spalten- oder Spaltennamen) für die Java-Methode. |
Examples
Beispiel 1: Reflektieren eines Methodenaufrufs mit Argumenten
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 |
+------------------------------------------+
Beispiel 2: Ausnahme im Spiegelungsaufruf, was zu NULL führt
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 |
+-----------------------------------------+