Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Explodeert een matrix met structs in een tabel.
Deze functie gebruikt een invoerkolom met een matrix met structs en retourneert een nieuwe kolom waarin elke struct in de matrix in een afzonderlijke rij wordt uitgevouwen.
Syntaxis
spark.tvf.inline(input)
Parameterwaarden
| Kenmerk | Typologie | Description |
|---|---|---|
input |
pyspark.sql.Column |
Invoerkolom met waarden die moeten worden geëxplodeerd. |
Retouren
pyspark.sql.DataFrame: Een DataFrame met uitgevouwen structrijen.
Voorbeelden
Voorbeeld 1: Inline gebruiken met één structmatrix
import pyspark.sql.functions as sf
spark.tvf.inline(sf.array(
sf.named_struct(sf.lit("a"), sf.lit(1), sf.lit("b"), sf.lit(2)),
sf.named_struct(sf.lit("a"), sf.lit(3), sf.lit("b"), sf.lit(4))
)).show()
+---+---+
| a| b|
+---+---+
| 1| 2|
| 3| 4|
+---+---+
Voorbeeld 2: Inline gebruiken met een lege structmatrixkolom
import pyspark.sql.functions as sf
spark.tvf.inline(sf.array().astype("array<struct<a:int,b:int>>")).show()
+---+---+
| a| b|
+---+---+
+---+---+
Voorbeeld 3: Inline gebruiken met een structmatrixkolom met null-waarden
import pyspark.sql.functions as sf
spark.tvf.inline(sf.array(
sf.named_struct(sf.lit("a"), sf.lit(1), sf.lit("b"), sf.lit(2)),
sf.lit(None),
sf.named_struct(sf.lit("a"), sf.lit(3), sf.lit("b"), sf.lit(4))
)).show()
+----+----+
| a| b|
+----+----+
| 1| 2|
|NULL|NULL|
| 3| 4|
+----+----+