Sdílet prostřednictvím


inline Funkce generátoru s hodnotami tabulky

Platí pro: zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime

Rozloží pole struktur do tabulky.

Syntaxe

inline(expr)

Argumenty

  • expr: Výraz ARRAY<STRUCT> .

Návraty

Sada řádků složená z polí v elementech struktury pole expr. Sloupce vytvořené inline pomocí názvů polí.

Pokud expr nejsou NULL vytvořeny žádné řádky.

  • Platí pro: zaškrtnutí označeného ano Databricks Runtime 12.1 a starší:

    inline lze umístit SELECT do seznamu pouze jako kořen výrazu nebo za zobrazením LATERAL. Při umístění funkce do SELECT seznamu nesmí existovat žádná jiná generátorová funkce ve stejném SELECT seznamu nebo UNSUPPORTED_GENERATOR. MULTI_GENERATOR je vyvolána.

  • Platí pro: zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime 12.2 LTS a vyšší:

    Vyvolání z klauzule LATERAL VIEW nebo SELECT je seznam zastaralý. Místo toho se vyvolá inline jako table_reference.

Příklady

Platí pro: zaškrtnutí označeného ano Databricks Runtime 12.1 a starší:

> SELECT inline(array(struct(1, 'a'), struct(2, 'b'))), 'Spark SQL';
 1  a Spark SQL
 2  b Spark SQL

> SELECT inline(array(struct(1, 'a'), struct(1, 'b'))),
         inline(array(struct('c', 1.0), struct('d', 2.0))),
         'Spark SQL';
 1  a Spark SQL
 2  b Spark SQL
Error: UNSUPPORTED_GENERATOR.MULTI_GENERATOR

Platí pro: zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime 12.2 LTS a vyšší:

> SELECT i.*, 'Spark SQL'
    FROM inline(array(struct(1, 'a'), struct(2, 'b'))) AS i;
 1  a Spark SQL
 2  b Spark SQL

> SELECT i1.*, i2.*, 'Spark SQL'
   FROM  inline(array(struct(1, 'a'), struct(1, 'b'))) AS i1,
         inline(array(struct('c', 1.0), struct('d', 2.0))) AS i2;
 1      a       c       1.0     Spark SQL
 1      b       c       1.0     Spark SQL
 1      a       d       2.0     Spark SQL
 1      b       d       2.0     Spark SQL