Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Extrahiert eine Untervariante nach vpath, und wandelt dann die Untervariante in targetType. Gibt NULL zurück, wenn der Pfad nicht vorhanden ist oder die Umwandlung fehlschlägt.
Syntax
from pyspark.sql import functions as sf
sf.try_variant_get(v, path, targetType)
Die Parameter
| Parameter | Typ | Description |
|---|---|---|
v |
pyspark.sql.Column oder str |
Ein Variant-Spalten- oder Spaltenname. |
path |
pyspark.sql.Column oder str |
Eine Spalte mit den Extraktionspfadzeichenfolgen oder einer Zeichenfolge, die den Extraktionspfad darstellt. Ein gültiger Pfad sollte mit $ beginnen und gefolgt von null oder mehr Segmenten wie [123], .name, ['name']oder ["name"]. |
targetType |
str | Der zu konvertierende Zieldatentyp in eine DDL-formatierte Zeichenfolge. |
Rückkehr
pyspark.sql.Column: eine Spalte zur targetType Darstellung des extrahierten Ergebnisses
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)]