tentar_variant_get
Extrai uma subvariante de v de acordo com path e então converte a subvariante para targetType. Retorna nulo se o caminho não existir ou se a conversão falhar.
Sintaxe
Python
from pyspark.sql import functions as sf
sf.try_variant_get(v, path, targetType)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
|
| Uma coluna variante ou um nome de coluna. |
|
| Uma coluna contendo as strings do caminho de extração ou strings que representam o caminho de extração. Um caminho válido deve começar com |
| str | O tipo de dados de destino para conversão, em strings formatadas em DDL. |
Devoluções
pyspark.sql.Column: uma coluna de targetType representando o resultado extraído
Exemplos
Python
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()
Output
[Row(r=1)]
Python
df.select(sf.try_variant_get(v, "$.b", "int").alias("r")).collect()
Output
[Row(r=None)]
Python
df.select(sf.try_variant_get(v, "$.a", "binary").alias("r")).collect()
Output
[Row(r=None)]
Python
df.select(sf.try_variant_get(sf.parse_json(df.json), df.path, "int").alias("r")).collect()
Output
[Row(r=1)]