Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Transformuje pole položek páru klíč-hodnota (struktury se dvěma poli) na mapu. První pole každé položky se použije jako klíč a druhé pole jako hodnota ve výsledném sloupci mapy.
Syntaxe
from pyspark.sql import functions as sf
sf.map_from_entries(col)
Parametry
| Parameter | Typ | Description |
|---|---|---|
col |
pyspark.sql.Column nebo str |
Název sloupce nebo výrazu |
Návraty
pyspark.sql.Column: Mapa vytvořená z daného pole položek.
Examples
Příklad 1: Základní použití map_from_entries
from pyspark.sql import functions as sf
df = spark.sql("SELECT array(struct(1, 'a'), struct(2, 'b')) as data")
df.select(sf.map_from_entries(df.data)).show()
+----------------------+
|map_from_entries(data)|
+----------------------+
| {1 -> a, 2 -> b}|
+----------------------+
Příklad 2: map_from_entries s hodnotami null
from pyspark.sql import functions as sf
df = spark.sql("SELECT array(struct(1, null), struct(2, 'b')) as data")
df.select(sf.map_from_entries(df.data)).show()
+----------------------+
|map_from_entries(data)|
+----------------------+
| {1 -> NULL, 2 -> b}|
+----------------------+
Příklad 3: map_from_entries s datovým rámcem
from pyspark.sql import Row, functions as sf
df = spark.createDataFrame([([Row(1, "a"), Row(2, "b")],), ([Row(3, "c")],)], ['data'])
df.select(sf.map_from_entries(df.data)).show()
+----------------------+
|map_from_entries(data)|
+----------------------+
| {1 -> a, 2 -> b}|
| {3 -> c}|
+----------------------+
Příklad 4: map_from_entries s prázdným polem
from pyspark.sql import functions as sf
from pyspark.sql.types import ArrayType, StringType, IntegerType, StructType, StructField
schema = StructType([
StructField("data", ArrayType(
StructType([
StructField("key", IntegerType()),
StructField("value", StringType())
])
), True)
])
df = spark.createDataFrame([([],)], schema=schema)
df.select(sf.map_from_entries(df.data)).show()
+----------------------+
|map_from_entries(data)|
+----------------------+
| {}|
+----------------------+