Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:
Databricks SQL
Databricks Runtime
Omvandlar en array av strukturer till en tabell med OUTER-semantik.
I Databricks SQL och Databricks Runtime 16.1 och senare stöder den här funktionen med namnet parameteranrop.
Syntax
inline_outer(input)
Argument
-
input: Ett ARRAY < STRUCT-uttryck > .
En uppsättning rader som består av fälten i matrisens structelement input.
Kolumnerna som skapas av inline är namnen på fälten.
Om input är NULL skapas en enda rad med NULLför varje kolumn.
Gäller för:
Databricks Runtime 12.1 och tidigare:inline_outerkan bara placeras i listanSELECTsom rot för ett uttryck eller efter en LATERAL VIEW. När du placerar funktionen iSELECT-listan får det inte finnas någon annan generatorfunktion i sammaSELECT-lista eller UNSUPPORTED_GENERATOR.MULTI_GENERATOR höjs.Gäller för:
Databricks SQL
Databricks Runtime 12.2 LTS och senare:Anrop från LATERAL VIEW-satsen eller
SELECT-listan är inaktuell. Anropainline_outeri stället som en table_reference.
Exempel
Gäller för:
Databricks Runtime 12.1 och tidigare:
> 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
Gäller för:
Databricks SQL
Databricks Runtime 12.2 LTS och senare:
> 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