to_variant_object

İç içe girişler (dizi/eşleme/yapı) içeren bir sütunu, eşlemelerin ve yapıların SQL yapılarından farklı olarak sıralanmamış olan değişken nesnelere dönüştürüldüğü bir değişkene dönüştürür. Giriş eşlemelerinin yalnızca dize anahtarları olabilir.

Sözdizimi

from pyspark.sql import functions as sf

sf.to_variant_object(col)

Parametreler

Parametre Türü Description
col pyspark.sql.Column veya str İç içe şema veya sütun adına sahip bir sütun.

İade

pyspark.sql.Column: VariantType'ın yeni sütunu.

Örnekler

Örnek 1: İç içe yerleştirilmiş yapı içeren bir diziyi değişkene dönüştürme

from pyspark.sql import functions as sf
from pyspark.sql.types import ArrayType, StructType, StructField, StringType, MapType
schema = StructType([
    StructField("i", StringType(), True),
    StructField("v", ArrayType(StructType([
        StructField("a", MapType(StringType(), StringType()), True)
    ]), True))
])
data = [("1", [{"a": {"b": 2}}])]
df = spark.createDataFrame(data, schema)
df.select(sf.to_variant_object(df.v))
DataFrame[to_variant_object(v): variant]
df.select(sf.to_variant_object(df.v)).show(truncate=False)
+--------------------+
|to_variant_object(v)|
+--------------------+
|[{"a":{"b":"2"}}]   |
+--------------------+