Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se trata de una versión especial de reflect que realiza la misma operación, pero devuelve un valor NULL en lugar de generar un error si el método invoke produjo una excepción.
Syntax
from pyspark.sql import functions as sf
sf.try_reflect(*cols)
Parámetros
| Parámetro | Tipo | Description |
|---|---|---|
cols |
pyspark.sql.Column o str |
El primer elemento debe ser una columna que representa una cadena literal para el nombre de clase y el segundo elemento debe ser una columna que representa la cadena literal para el nombre del método y el resto son argumentos de entrada (columnas o nombres de columna) para el método Java. |
Examples
Ejemplo 1: Reflejar una llamada de método con argumentos
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 |
+------------------------------------------+
Ejemplo 2: Excepción en la llamada de reflexión, lo que da como resultado un valor 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 |
+-----------------------------------------+