variant_get

'den v öğesine göre pathbir alt değişken ayıklar ve sonra alt değişkenini öğesine yayınlar targetType. Yol yoksa null döndürür. Atama başarısız olursa bir özel durum oluşturur.

Sözdizimi

from pyspark.sql import functions as sf

sf.variant_get(v, path, targetType)

Parametreler

Parametre Türü Description
v pyspark.sql.Column veya str Değişken sütun veya sütun adı.
path pyspark.sql.Column veya str Ayıklama yolu dizelerini içeren bir sütun veya ayıklama yolunu temsil eden bir dize. Geçerli bir yol $ ile başlamalıdır ve ardından [123], .name, ['name']veya ["name"]gibi sıfır veya daha fazla kesim vardır.
targetType str DDL biçimli bir dizede atanacak hedef veri türü.

İade

pyspark.sql.Column: Ayıklanan sonucu temsil eden bir sütun targetType

Örnekler

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)]