inline (función de generador con valores de tabla)

Se aplica a:casilla marcada como Sí Databricks SQL casilla marcada como Sí Databricks Runtime

Expande una matriz de estructuras en una tabla.

Sintaxis

inline(expr)

Argumentos

  • expr: una expresión ARRAY<STRUCT>.

Devoluciones

Conjunto de filas compuestas por los campos de los elementos de estructura de la matriz expr. Las columnas generadas por inline son los nombres de los campos.

Si expr es NULL, no se generará ninguna fila.

  • Se aplica a:check marked yes Databricks Runtime 12.1 y versiones posteriores:

    inline solo se puede colocar en la lista SELECT como la raíz de una expresión o después de una VISTA LATERAL. Al colocar la función en la lista SELECT, no debe haber ninguna otra función generadora en la misma lista SELECT o se genera UNSUPPORTED_GENERATOR. MULTI_GENERATOR.

  • Se aplica a:casilla marcada como sí Databricks SQL casilla marcada como Sí Databricks Runtime 12.2 LTS y versiones posteriores:

    La invocación de la cláusula LATERAL VIEW o la lista SELECT está en desuso. En su lugar, invoca inline como un table_reference.

Ejemplos

Se aplica a:casilla marcada como sí Databricks Runtime 12.1 y versiones posteriores:

> 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

Se aplica a:casilla marcada como sí Databricks SQL casilla marcada como Sí Databricks Runtime 12.2 LTS y versiones posteriores:

> 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