Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Explodeert een matrix met structs in een tabel. In tegenstelling tot inline, als de matrix null of leeg is, wordt null geproduceerd voor elke geneste kolom.
Syntaxis
from pyspark.sql import functions as sf
sf.inline_outer(col)
Parameterwaarden
| Kenmerk | Typologie | Description |
|---|---|---|
col |
pyspark.sql.Column of kolomnaam |
Invoerkolom met waarden die moeten worden geƫxplodeerd. |
Retouren
pyspark.sql.Column: generatorexpressie met het inline geƫxplodeerde resultaat.
Voorbeelden
from pyspark.sql import functions as sf
df = spark.sql('SELECT * FROM VALUES (1,ARRAY(NAMED_STRUCT("a",1,"b",2), NULL, NAMED_STRUCT("a",3,"b",4))), (2,ARRAY()), (3,NULL) AS t(i,s)')
df.printSchema()
root
|-- i: integer (nullable = false)
|-- s: array (nullable = true)
| |-- element: struct (containsNull = true)
| | |-- a: integer (nullable = false)
| | |-- b: integer (nullable = false)
df.select('*', sf.inline_outer('s')).show(truncate=False)
+---+----------------------+----+----+
|i |s |a |b |
+---+----------------------+----+----+
|1 |[{1, 2}, NULL, {3, 4}]|1 |2 |
|1 |[{1, 2}, NULL, {3, 4}]|NULL|NULL|
|1 |[{1, 2}, NULL, {3, 4}]|3 |4 |
|2 |[] |NULL|NULL|
|3 |NULL |NULL|NULL|
+---+----------------------+----+----+