Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Jest to specjalna wersja reflect , która wykonuje tę samą operację, ale zwraca wartość NULL zamiast zgłaszać błąd, jeśli metoda wywołania zgłosił wyjątek.
Składnia
from pyspark.sql import functions as sf
sf.try_reflect(*cols)
Parametry
| Parameter | Typ | Description |
|---|---|---|
cols |
pyspark.sql.Column lub str |
Pierwszy element powinien być kolumną reprezentującą ciąg literału dla nazwy klasy, a drugi element powinien być kolumną reprezentującą ciąg literału dla nazwy metody, a pozostałe to argumenty wejściowe (kolumny lub nazwy kolumn) do metody Java. |
Przykłady
Przykład 1. Odzwierciedlanie wywołania metody za pomocą argumentów
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 |
+------------------------------------------+
Przykład 2: Wyjątek w wywołaniu odbicia, co powoduje wartość null
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 |
+-----------------------------------------+