Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Crea una nuova colonna mappa a partire da un numero pari di colonne di ingresso o riferimenti a colonne. Le colonne di input vengono raggruppate in coppie chiave-valore per formare una mappa. Ad esempio, l'input (key1, value1, key2, value2, ...) produrrebbe una mappa che associa key1 a value1, key2 a value2 e così via. La funzione supporta anche il raggruppamento di colonne come elenco.
Sintassi
from pyspark.sql import functions as sf
sf.create_map(*cols)
Parametri
| Parametro | TIPO | Description |
|---|---|---|
cols |
pyspark.sql.Column o str |
Nomi di colonna di input o oggetti Column raggruppati in coppie chiave-valore. Questi valori possono essere espressi anche come elenco di colonne. |
Restituzioni
pyspark.sql.Column: nuova colonna di tipo mappa, in cui ogni valore è una mappa formata dalle coppie chiave-valore corrispondenti fornite negli argomenti di input.
Esempi
Esempio 1: Utilizzo di base della funzione 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}|
+--------------+
Esempio 2: Utilizzo della funzione create_map con un elenco di colonne.
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}|
+--------------+
Esempio 3: Utilizzo della funzione create_map con più coppie chiave-valore.
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} |
+---------------------------------+
Esempio 4: Utilizzo di create_map funzione con valori di tipi diversi.
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} |
+-----------------------------+