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řevádí pole struktur do tabulky.
V Databricks SQL a Databricks Runtime 16.1 a vyšší tato funkce podporuje pojmenované vyvolání parametru.
Syntaxe
inline(input)
Argumenty
-
input: VýrazARRAY<STRUCT>.
Návraty
Sada řádků tvořená poli ve strukturních prvcích pole input.
Sloupce vytvořené pomocí inline jsou názvy polí.
Pokud input nejsou NULL vytvořeny žádné řádky.
Platí pro:
Databricks Runtime 12.1 a starší:inlinelze 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 UNSUPPORTED_GENERATOR žádná jiná generátorová funkce. MULTI_GENERATOR je vyvolána.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áinlinejako table_reference.
Příklady
Platí pro:
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:
Databricks SQL
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