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.
Vytvoří nový sloupec mapy z sudého počtu vstupních sloupců nebo odkazů na sloupce. Vstupní sloupce jsou seskupeny do párů klíč-hodnota pro vytvoření mapy. Například vstup (klíč1, hodnota1, klíč2, hodnota2, ...) vytvoří mapu, která přidruží klíč1 k hodnotě1, klíč2 s hodnotou2 atd. Funkce podporuje také seskupování sloupců jako seznamu.
Syntaxe
from pyspark.sql import functions as sf
sf.create_map(*cols)
Parametry
| Parameter | Typ | Description |
|---|---|---|
cols |
pyspark.sql.Column nebo str |
Názvy vstupních sloupců nebo objekty Column seskupené do párů klíč-hodnota. Dají se také vyjádřit jako seznam sloupců. |
Návraty
pyspark.sql.Column: Nový sloupec typu mapování, kde každá hodnota je mapa vytvořená z odpovídajících párů klíč-hodnota zadaných ve vstupních argumentech.
Examples
Příklad 1: Základní použití funkce create_map
from pyspark.sql import functions as sf
df = spark.createDataFrame([("Alice", 2), ("Bob", 5)], ("name", "age"))
df.select(sf.create_map('name', 'age')).show()
+--------------+
|map(name, age)|
+--------------+
| {Alice -> 2}|
| {Bob -> 5}|
+--------------+
Příklad 2: Použití create_map funkce se seznamem sloupců
from pyspark.sql import functions as sf
df = spark.createDataFrame([("Alice", 2), ("Bob", 5)], ("name", "age"))
df.select(sf.create_map([df.name, df.age])).show()
+--------------+
|map(name, age)|
+--------------+
| {Alice -> 2}|
| {Bob -> 5}|
+--------------+
Příklad 3: Použití funkce create_map s více než jedním párem klíč-hodnota
from pyspark.sql import functions as sf
df = spark.createDataFrame([("Alice", 2, "female"),
("Bob", 5, "male")], ("name", "age", "gender"))
df.select(sf.create_map(sf.lit('name'), df['name'],
sf.lit('gender'), df['gender'])).show(truncate=False)
+---------------------------------+
|map(name, name, gender, gender) |
+---------------------------------+
|{name -> Alice, gender -> female}|
|{name -> Bob, gender -> male} |
+---------------------------------+
Příklad 4: Použití create_map funkce s hodnotami různých typů
from pyspark.sql import functions as sf
df = spark.createDataFrame([("Alice", 2, 22.2),
("Bob", 5, 36.1)], ("name", "age", "weight"))
df.select(sf.create_map(sf.lit('age'), df['age'],
sf.lit('weight'), df['weight'])).show(truncate=False)
+-----------------------------+
|map(age, age, weight, weight)|
+-----------------------------+
|{age -> 2.0, weight -> 22.2} |
|{age -> 5.0, weight -> 36.1} |
+-----------------------------+