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.
Převede sloupec obsahující vnořené vstupy (array/map/struct) na varianty, ve kterých se mapy a struktury převedou na objekty variant, které nejsou seřazené na rozdíl od struktur SQL. Vstupní mapy můžou obsahovat pouze řetězcové klíče.
Syntaxe
from pyspark.sql import functions as sf
sf.to_variant_object(col)
Parametry
| Parameter | Typ | Description |
|---|---|---|
col |
pyspark.sql.Column nebo str |
Sloupec s vnořeným schématem nebo názvem sloupce. |
Návraty
pyspark.sql.Column: nový sloupec VariantType.
Examples
Příklad 1: Převod pole obsahujícího vnořenou strukturu na variantu
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"}}] |
+--------------------+