Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
'den v öğesine göre pathbir alt değişken ayıklar ve sonra alt değişkenini öğesine yayınlar targetType. Yol yoksa veya atama başarısız olursa null döndürür.
Sözdizimi
from pyspark.sql import functions as sf
sf.try_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.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)]