Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Cria uma nova coluna de mapa a partir de um número par de colunas de entrada ou de referências a colunas. As colunas de entrada são agrupadas em pares chave-valor para formar um mapa. Por exemplo, a entrada (key1, value1, key2, value2, ...) produziria um mapa que associa a chave1 ao valor1, à chave2 ao valor2 e assim por diante. A função também dá suporte ao agrupamento de colunas como uma lista.
Sintaxe
from pyspark.sql import functions as sf
sf.create_map(*cols)
Parâmetros
| Parâmetro | Tipo | Description |
|---|---|---|
cols |
pyspark.sql.Column ou str |
Os nomes de coluna de entrada ou objetos Column agrupados em pares chave-valor. Elas também podem ser expressas como uma lista de colunas. |
Devoluções
pyspark.sql.Column: um novo tipo coluna de mapa, em que cada valor é um mapa formado a partir dos pares chave-valor correspondentes fornecidos nos argumentos de entrada.
Exemplos
Exemplo 1: uso básico da função 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}|
+--------------+
Exemplo 2: Uso da função create_map com uma lista de colunas.
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}|
+--------------+
Exemplo 3: Uso da função create_map com mais de um par chave-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} |
+---------------------------------+
Exemplo 4: Uso da função create_map com 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} |
+-----------------------------+