create_map

Eşit sayıda giriş sütunu veya sütun referanslarından yeni bir harita sütunu oluşturur. Giriş sütunları, eşleme oluşturmak için anahtar-değer çiftleri halinde gruplandırılır. Örneğin, giriş (anahtar1, değer1, anahtar2, değer2, ...) anahtar1 ile değer1, anahtar2 ile değer2 vb. ilişkilendiren bir eşleme oluşturur. İşlev, sütunları liste olarak gruplandırma işlemini de destekler.

Sözdizimi

from pyspark.sql import functions as sf

sf.create_map(*cols)

Parametreler

Parametre Türü Description
cols pyspark.sql.Column veya str Giriş sütun adları veya Anahtar-değer çiftleri halinde gruplandırılmış Sütun nesneleri. Bunlar sütun listesi olarak da ifade edilebilir.

İade

pyspark.sql.Column: Her değerin giriş bağımsız değişkenlerinde sağlanan ilgili anahtar-değer çiftlerinden oluşturulmuş bir eşleme olduğu yeni Eşleme türü sütunu.

Örnekler

Örnek 1: create_map işlevinin temel kullanımı.

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

Örnek 2: Sütun listesiyle create_map işlevinin kullanımı.

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

Örnek 3: Birden fazla anahtar-değer çifti ile create_map işlevinin kullanımı.

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

Örnek 4: farklı türlerdeki değerlerle create_map işlevinin kullanımı.

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