inline_outer
funkce generátoru s hodnotami tabulky
Platí pro: Databricks SQL
Databricks Runtime
Přemění pole struktur na tabulku s OUTER
sémantikou.
V Databricks SQL a Databricks Runtime 16.1 a vyšší tuto funkci podporuje pojmenované vyvolání parametru.
inline_outer(input)
-
input
: Výraz ARRAY < STRUCT > .
Sada řádků složená z polí v elementech struktury pole input
.
Sloupce, které vytvořil inline
, jsou názvy polí.
Pokud je input
NULL
, vytvoří se jediný řádek s NULL
pro každý sloupec.
Platí pro:
Databricks Runtime 12.1 a starší:
inline_outer
lze umístit pouze do seznamuSELECT
jako kořen výrazu nebo za LATERAL VIEW. Při umístění funkce do seznamuSELECT
nesmí být ve stejném seznamuSELECT
nebo žádná jiná generátorová funkce, jinak je vyvolána chyba UNSUPPORTED_GENERATOR.MULTI_GENERATOR.Platí pro:
Databricks SQL
Databricks Runtime 12.2 LTS a vyšší:
Vyvolání z klauzule LATERAL VIEW nebo seznamu
SELECT
je zastaralé. Místo toho se vyvoláinline_outer
jako table_reference.
Platí pro: Databricks Runtime 12.1 a starší:
> SELECT inline_outer(array(struct(1, 'a'), struct(2, 'b'))), 'Spark SQL';
1 a Spark SQL
2 b Spark SQL
> SELECT inline_outer(array(struct(1, 'a'), struct(1, 'b'))),
inline_outer(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: Databricks SQL
Databricks Runtime 12.2 LTS a vyšší:
> SELECT i.*, 'Spark SQL'
FROM inline_outer(array(struct(1, 'a'), struct(2, 'b'))) AS i;
1 a Spark SQL
2 b Spark SQL
> SELECT i1.*, i2.*, 'Spark SQL'
FROM inline_outer(array(struct(1, 'a'), struct(1, 'b'))) AS i1,
inline_outer(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
- vytvořit funkci generátoru s tabulkovými hodnotami
- explode_outer funkce generátoru s hodnotami tabulky
- funkce generátoru s hodnotami tabulky posexplode
- posexplode_outer tabulkově hodnotová generátorová funkce
- inline funkce generátoru vracející tabulková data