Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:
Databricks SQL
Databricks Runtime
Esplode un array di strutture in una tabella con semantica OUTER.
In in Databricks SQL e Databricks Runtime 16.1 e versioni successive questa funzione supporta chiamata di parametri denominati.
Sintassi
inline_outer(input)
Argomenti
-
input: espressione ARRAY < STRUCT > .
Set di righe composte dai campi degli elementi struct dell'array input.
Le colonne generate da inline sono i nomi dei campi.
Se input è NULL viene generata una singola riga con NULLs per ogni colonna.
Si applica a:
Databricks Runtime 12.1 e versioni precedenti:inline_outerpuò essere posizionato solo come radice di un'espressione nell'elencoSELECTo dopo un LATERAL VIEW. Quando si inserisce la funzione nell'elencoSELECTnon deve essere presente alcuna altra funzione generatrice nello stesso elencoSELECToppure viene sollevata l'eccezione UNSUPPORTED_GENERATOR.MULTI_GENERATOR.Si applica a:
Databricks SQL
Databricks Runtime 12.2 LTS e versioni successive:L'invocazione dalla clausola ,LATERAL VIEW, o dall'elenco
SELECTè deprecata. Richiamareinline_outerinvece come table_reference.
Esempi
Si applica a:
Databricks Runtime 12.1 e versioni precedenti:
> 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
Si applica a:
Databricks SQL
Databricks Runtime 12.2 LTS e versioni successive:
> 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