Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Tworzy nową kolumnę mapy na podstawie parzystej liczby kolumn wejściowych lub odwołań do kolumn. Kolumny wejściowe są grupowane w pary klucz-wartość w celu utworzenia mapy. Na przykład dane wejściowe (key1, value1, key2, value2, ...) generują mapę, która kojarzy klucz1 z wartością1, klucz2 z wartością2 itd. Funkcja obsługuje również grupowanie kolumn jako listy.
Składnia
from pyspark.sql import functions as sf
sf.create_map(*cols)
Parametry
| Parameter | Typ | Description |
|---|---|---|
cols |
pyspark.sql.Column lub str |
Nazwy kolumn wejściowych lub obiekty Kolumny pogrupowane w pary klucz-wartość. Można je również wyrazić jako listę kolumn. |
Zwraca
pyspark.sql.Column: nowa kolumna typu mapy, w której każda wartość jest mapą utworzoną na podstawie odpowiednich par klucz-wartość podanych w argumentach wejściowych.
Przykłady
Przykład 1. Podstawowe użycie funkcji 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}|
+--------------+
Przykład 2. Użycie funkcji create_map z listą kolumn.
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}|
+--------------+
Przykład 3. Użycie funkcji create_map z więcej niż jedną parą klucz-wartość.
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} |
+---------------------------------+
Przykład 4. Użycie funkcji create_map z wartościami różnych typów.
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} |
+-----------------------------+