schema_of_json_agg
funzione di aggregazione
Si applica a: Databricks SQL Databricks Runtime 13.2 e versioni successive
Restituisce lo schema combinato di tutte le stringhe JSON in un gruppo in formato DDL.
Sintassi
schema_of_json_agg(jsonStr [, options] ) [FILTER ( WHERE cond ) ]
Questa funzione può anche essere richiamata come funzione window usando la OVER
clausola .
Argomenti
jsonStr
: valoreSTRING
letterale conJSON
.options
: valore letterale facoltativoMAP
con chiavi e valori .STRING
Per informazioni dettagliate sulle opzioni, vedere from_json funzione.cond
: espressione facoltativaBOOLEAN
che filtra le righe usate per l'aggregazione.
Valori restituiti
Oggetto STRING
contenente una definizione di una matrice di struct con n
campi di stringhe in cui i nomi delle colonne derivano dal set distinto di JSON
chiavi .
I valori dei campi contengono i tipi SQL formattati derivati.
Lo schema di ogni record viene unito in base al nome del campo.
Quando due campi con lo stesso nome hanno un tipo diverso tra record, Azure Databricks usa il tipo meno comune.
Quando non esiste alcun tipo di questo tipo, il tipo viene derivato come .STRING
Ad esempio, INT
e DOUBLE
diventano DOUBLE
, mentre STRUCT<i INT>
e STRING
diventano STRING
.
Lo schema ottenuto dalla lettura di una colonna di JSON
dati è uguale a quello derivato dal codice seguente.
SELECT * FROM json.`/my/data`;
Per derivare lo schema di una singola JSON
stringa, usare schema_of_json funzione .
Esempi
> SELECT schema_of_json_agg(a) FROM VALUES('{"foo": "bar"}') AS data(a);
STRUCT<foo: STRING>
> SELECT schema_of_json_agg(a) FROM VALUES('[1]') AS data(a);
ARRAY<BIGINT>
> CREATE TEMPORARY VIEW data(a) AS VALUES
('{"foo": "bar", "wing": {"ding": "dong"}}'),
('{"top": "level", "wing": {"stop": "go"}}')
> SELECT schema_of_json_agg(a) FROM data;
STRUCT<foo: STRING,top: STRING,wing: STRUCT<ding: STRING, stop: STRING>>