Bagikan melalui


create_map

Membuat kolom peta baru dari jumlah genap kolom input atau referensi kolom. Kolom input dikelompokkan ke dalam pasangan kunci-nilai untuk membentuk peta. Misalnya, input (key1, value1, key2, value2, ...) akan menghasilkan peta yang mengaitkan key1 dengan value1, key2 dengan value2, dan sebagainya. Fungsi ini juga mendukung pengelompokan kolom.

Syntax

from pyspark.sql import functions as sf

sf.create_map(*cols)

Parameter-parameternya

Pengaturan Tipe Description
cols pyspark.sql.Column atau str Nama kolom input atau objek Kolom dikelompokkan ke dalam pasangan kunci-nilai. Ini juga dapat dinyatakan sebagai daftar kolom.

Pengembalian Barang

pyspark.sql.Column: Kolom jenis Peta baru, di mana setiap nilai adalah peta yang terbentuk dari pasangan nilai kunci terkait yang disediakan dalam argumen input.

Examples

Contoh 1: Penggunaan dasar fungsi 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}|
+--------------+

Contoh 2: Penggunaan fungsi create_map dengan daftar kolom.

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

Contoh 3: Penggunaan fungsi create_map dengan lebih dari satu pasangan kunci-nilai.

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

Contoh 4: Penggunaan fungsi create_map dengan nilai dari berbagai jenis.

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