TableValuedFunction.inline
構造体の配列をテーブルに展開します。
この関数は、構造体の配列を含む入力列を受け取り、配列内の各構造体が個別の行に展開された新しい列を返します。
構文
Python
spark.tvf.inline(input)
パラメーター
パラメーター | Type | 説明 |
|---|---|---|
|
| 分解する値の入力列。 |
戻り値
pyspark.sql.DataFrame: 展開された構造体の行を持つ DataFrame。
例
例1 : 単一の構造体配列でインラインを使用する
Python
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()
Output
+---+---+
| a| b|
+---+---+
| 1| 2|
| 3| 4|
+---+---+
例2 : 空の構造体配列列でインラインを使用する
Python
import pyspark.sql.functions as sf
spark.tvf.inline(sf.array().astype("array<struct<a:int,b:int>>")).show()
Output
+---+---+
| a| b|
+---+---+
+---+---+
例3 : null値を含む構造体配列列でインラインを使用する
Python
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()
Output
+----+----+
| a| b|
+----+----+
| 1| 2|
|NULL|NULL|
| 3| 4|
+----+----+