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.
Extrae una sub variant de v según pathy, a continuación, convierte la sub variant en targetType. Devuelve null si la ruta de acceso no existe o se produce un error en la conversión.
Syntax
from pyspark.sql import functions as sf
sf.try_variant_get(v, path, targetType)
Parámetros
| Parámetro | Tipo | Description |
|---|---|---|
v |
pyspark.sql.Column o str |
Un nombre de columna o columna variant. |
path |
pyspark.sql.Column o str |
Columna que contiene las cadenas de ruta de acceso de extracción o una cadena que representa la ruta de acceso de extracción. Una ruta de acceso válida debe comenzar con $ y va seguida de cero o más segmentos como [123], .name, ['name']o ["name"]. |
targetType |
str | Tipo de datos de destino al que se va a convertir, en una cadena con formato DDL. |
Devoluciones
pyspark.sql.Column: una columna de targetType que representa el resultado extraído.
Examples
from pyspark.sql import functions as sf
df = spark.createDataFrame([ {'json': '''{ "a" : 1 }''', 'path': '$.a'} ])
v = sf.parse_json(df.json)
df.select(sf.try_variant_get(v, "$.a", "int").alias("r")).collect()
[Row(r=1)]
df.select(sf.try_variant_get(v, "$.b", "int").alias("r")).collect()
[Row(r=None)]
df.select(sf.try_variant_get(v, "$.a", "binary").alias("r")).collect()
[Row(r=None)]
df.select(sf.try_variant_get(sf.parse_json(df.json), df.path, "int").alias("r")).collect()
[Row(r=1)]