Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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.
Syntaxe
inline_outer(input)
Argumenty
-
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 inputNULL, vytvoří se jediný řádek s NULLpro každý sloupec.
Platí pro:
Databricks Runtime 12.1 a starší:inline_outerlze umístit pouze do seznamuSELECTjako kořen výrazu nebo za LATERAL VIEW. Při umístění funkce do seznamuSELECTnesmí být ve stejném seznamuSELECTnebo žá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
SELECTje zastaralé. Místo toho se vyvoláinline_outerjako table_reference.
Příklady
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