Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Estrae una variante secondaria da v in base a pathe quindi esegue il cast della variante secondaria in targetType. Restituisce Null se il percorso non esiste o il cast ha esito negativo.
Sintassi
from pyspark.sql import functions as sf
sf.try_variant_get(v, path, targetType)
Parametri
| Parametro | TIPO | Description |
|---|---|---|
v |
pyspark.sql.Column o str |
Nome di colonna o colonna variante. |
path |
pyspark.sql.Column o str |
Colonna contenente le stringhe del percorso di estrazione o una stringa che rappresenta il percorso di estrazione. Un percorso valido deve iniziare con $ ed è seguito da zero o più segmenti come [123], .name, ['name']o ["name"]. |
targetType |
str | Tipo di dati di destinazione in cui eseguire il cast in una stringa in formato DDL. |
Restituzioni
pyspark.sql.Column: colonna di targetType che rappresenta il risultato estratto
Esempi
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)]