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 un nuevo mapa a partir de dos matrices. Esta función toma dos matrices de claves y valores respectivamente y devuelve una nueva columna de mapa. Las matrices de entrada para las claves y los valores deben tener la misma longitud y todos los elementos de las claves no deben ser NULL. Si no se cumplen estas condiciones, se producirá una excepción.
Syntax
from pyspark.sql import functions as sf
sf.map_from_arrays(col1, col2)
Parámetros
| Parámetro | Tipo | Description |
|---|---|---|
col1 |
pyspark.sql.Column o str |
Nombre de la columna que contiene un conjunto de claves. Todos los elementos no deben ser NULL. |
col2 |
pyspark.sql.Column o str |
Nombre de la columna que contiene un conjunto de valores. |
Devoluciones
pyspark.sql.Column: una columna de tipo de mapa.
Examples
Ejemplo 1: Uso básico de map_from_arrays
from pyspark.sql import functions as sf
df = spark.createDataFrame([([2, 5], ['a', 'b'])], ['k', 'v'])
df.select(sf.map_from_arrays(df.k, df.v)).show()
+---------------------+
|map_from_arrays(k, v)|
+---------------------+
| {2 -> a, 5 -> b}|
+---------------------+
Ejemplo 2: map_from_arrays con valores NULL
from pyspark.sql import functions as sf
df = spark.createDataFrame([([1, 2], ['a', None])], ['k', 'v'])
df.select(sf.map_from_arrays(df.k, df.v)).show()
+---------------------+
|map_from_arrays(k, v)|
+---------------------+
| {1 -> a, 2 -> NULL}|
+---------------------+
Ejemplo 3: map_from_arrays con matrices vacías
from pyspark.sql import functions as sf
from pyspark.sql.types import ArrayType, StringType, IntegerType, StructType, StructField
schema = StructType([
StructField('k', ArrayType(IntegerType())),
StructField('v', ArrayType(StringType()))
])
df = spark.createDataFrame([([], [])], schema=schema)
df.select(sf.map_from_arrays(df.k, df.v)).show()
+---------------------+
|map_from_arrays(k, v)|
+---------------------+
| {}|
+---------------------+