Megosztás:


TableValuedFunction.inline

Tömbstruktúrát bont szét egy táblázatba.

Ez a függvény egy strukturált tömböt tartalmazó bemeneti oszlopot vesz fel, és egy új oszlopot ad vissza, ahol a tömb egyes strukturái külön sorba kerülnek.

Szemantika

spark.tvf.inline(input)

Paraméterek

Paraméter Típus Description
input pyspark.sql.Column A robbantani kívánt értékek bemeneti oszlopa.

Visszatérítések

pyspark.sql.DataFrame: Adatkeret robbantott strukturált sorokkal.

Példák

1. példa: Beágyazott és egyetlen strukturált tömb használata

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|
+---+---+

2. példa: Inline használata üres strukturált tömboszlopmal

import pyspark.sql.functions as sf
spark.tvf.inline(sf.array().astype("array<struct<a:int,b:int>>")).show()
+---+---+
|  a|  b|
+---+---+
+---+---+

3. példa: Null értékeket tartalmazó strukturált tömboszlop beágyazott használata

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|
+----+----+