Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:
SQL do Databricks
Runtime do Databricks
Detalha uma matriz de structs em uma tabela com semântica OUTER.
No Databricks SQL e no Databricks Runtime 16.1 e versões superiores, essa função dá suporte à invocação de parâmetro nomeado.
Sintaxe
inline_outer(input)
Argumentos
-
input: uma expressão ARRAY < STRUCT >.
Um conjunto de linhas compostas pelos campos nos elementos struct da matriz input.
As colunas produzidas por inline são os nomes dos campos.
Se input for NULL uma única linha com NULLs para cada coluna será produzida.
Aplica-se a:
Databricks Runtime 12.1 e anterior:inline_outersó pode ser colocado na listaSELECTcomo a raiz de uma expressão ou seguindo um LATERAL VIEW. Ao colocar a função na listaSELECT, não deve haver nenhuma outra função de gerador na mesma listaSELECTou um UNSUPPORTED_GENERATOR. MULTI_GENERATOR será gerado.Aplica-se a:
SQL do Databricks
Databricks Runtime 12.2 LTS e superior:A invocação da cláusula LATERAL VIEW ou da lista
SELECTfoi preterida. Em vez disso, invoqueinline_outercomo uma table_reference.
Exemplos
Aplica-se a:
Databricks Runtime 12.1 e anterior:
> 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
Aplica-se a:
SQL do Databricks
Databricks Runtime 12.2 LTS e superior:
> 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