Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Extrahuje sub-variantu podle vpatha potom přetypuje dílčí variantu na targetType. Vrátí hodnotu null, pokud cesta neexistuje. Vyvolá výjimku, pokud se přetypování nezdaří.
Syntaxe
from pyspark.sql import functions as sf
sf.variant_get(v, path, targetType)
Parametry
| Parameter | Typ | Description |
|---|---|---|
v |
pyspark.sql.Column nebo str |
Název sloupce nebo sloupce varianty. |
path |
pyspark.sql.Column nebo str |
Sloupec obsahující řetězce cesty extrakce nebo řetězec představující cestu extrakce. Platná cesta by měla začínat $ a za ní následuje nula nebo více segmentů, jako jsou [123], .name, ['name']nebo ["name"]. |
targetType |
str | Cílový datový typ, který se má přetypovat do řetězce ve formátu DDL. |
Návraty
pyspark.sql.Column: sloupec targetType představující extrahovaný výsledek
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.variant_get(v, "$.a", "int").alias("r")).collect()
[Row(r=1)]
df.select(sf.variant_get(v, "$.b", "int").alias("r")).collect()
[Row(r=None)]
df.select(sf.variant_get(sf.parse_json(df.json), df.path, "int").alias("r")).collect()
[Row(r=1)]