Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Crea una nueva columna de mapa a partir de un número par de columnas de entrada o columnas de referencia. Las columnas de entrada se agrupan en pares clave-valor para formar un mapa. Por ejemplo, la entrada (key1, value1, key2, value2, ...) generaría un mapa que asocia key1 con value1, key2 con value2, etc. La función también admite la agrupación de columnas como una lista.
Syntax
from pyspark.sql import functions as sf
sf.create_map(*cols)
Parámetros
| Parámetro | Tipo | Description |
|---|---|---|
cols |
pyspark.sql.Column o str |
Los nombres de columna de entrada o los objetos Column agrupados en pares clave-valor. También se pueden expresar como una lista de columnas. |
Devoluciones
pyspark.sql.Column: una nueva columna de tipo de mapa, donde cada valor es un mapa formado a partir de los pares clave-valor correspondientes proporcionados en los argumentos de entrada.
Examples
Ejemplo 1: Uso básico de create_map función.
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}|
+--------------+
Ejemplo 2: Uso de create_map función con una lista de columnas.
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}|
+--------------+
Ejemplo 3: Uso de create_map función con más de un par clave-valor.
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} |
+---------------------------------+
Ejemplo 4: Uso de create_map función con valores de diferentes tipos.
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} |
+-----------------------------+