Teilen über


TableValuedFunction.inline_outer

Erstellt aus einem Array von Strukturen eine Tabelle. Im Gegensatz zu Inline wird für jede geschachtelte Spalte null oder leer null erstellt.

Syntax

spark.tvf.inline_outer(input)

Die Parameter

Parameter Typ Description
input pyspark.sql.Column Eingabespalte mit Werten, die explodiert werden sollen.

Rückkehr

pyspark.sql.DataFrame: Ein DataFrame mit explodierten Strukturzeilen oder Nullwerten, wenn das Array leer oder NULL ist.

Examples

import pyspark.sql.functions as sf
spark.tvf.inline_outer(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|
+---+---+
import pyspark.sql.functions as sf
spark.tvf.inline_outer(sf.array().astype("array<struct<a:int,b:int>>")).show()
+----+----+
|   a|   b|
+----+----+
|NULL|NULL|
+----+----+