Partilhar via


inline table- função geradora com valores

Aplica-se a:Marque Sim Databricks SQL Marque Sim Databricks Runtime

Explode uma série de estruturas em um table.

No Databricks Runtime 16.1 e superior, esta função suporta invocação de parâmetro nomeado.

Sintaxe

inline(input)

Argumentos

  • input: Uma ARRAY<STRUCT> expressão.

Devoluções

Um set de linhas formado pelos campos nos elementos de estrutura da matriz input. Os columns produzidos por inline são os nomes dos campos.

Se input não houver NULL linhas são produzidas.

Exemplos

Aplica-se a:Marque Sim Databricks Runtime 12.1 e anteriores:

> 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

Aplica-se a:Marque Sim Databricks SQL Marque Sim Databricks Runtime 12.2 LTS e superior:

> 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