Megosztás:


create_map

Páros számú bemeneti oszlopból vagy oszlophivatkozásból hoz létre új térképoszlopot. A bemeneti oszlopok kulcs-érték párokba vannak csoportosítva, hogy térképet képezhessenek. A bemenet (kulcs1, érték1, kulcs2, érték2, ...) például egy olyan térképet hoz létre, amely az 1. kulcsot az 1. értékkel, a kulcs2 értéket2 stb. társítja. A függvény támogatja az oszlopok listaként való csoportosítását is.

Szemantika

from pyspark.sql import functions as sf

sf.create_map(*cols)

Paraméterek

Paraméter Típus Description
cols pyspark.sql.Column vagy str A bemeneti oszlopnevek vagy oszlopobjektumok kulcs-érték párokba csoportosítva. Ezek az oszlopok listájaként is kifejezhetők.

Visszatérítések

pyspark.sql.Column: Új térképtípusú oszlop, ahol minden érték a bemeneti argumentumokban megadott kulcs-érték párokból létrehozott térkép.

Példák

1. példa: A create_map függvény alapszintű használata.

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}|
+--------------+

2. példa: A create_map függvény használata oszlopok listájával.

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}|
+--------------+

3. példa: A create_map függvény használata egynél több kulcs-érték párral.

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}    |
+---------------------------------+

4. példa: Create_map függvény használata különböző típusú értékekkel.

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} |
+-----------------------------+