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 finestra usando la clausola OVER
.
Argomenti
-
jsonStr
: valoreSTRING
letterale conJSON
. -
options
: Un letteraleMAP
facoltativo con chiavi e valoriSTRING
inclusi. Per informazioni dettagliate sulle opzioni, vedere from_json funzione. -
cond
: espressione facoltativaBOOLEAN
che filtra le righe usate per l'aggregazione.
Valori restituiti
Oggetto STRING
che contiene una definizione di un array di strutture con n
campi di stringhe in cui i nomi delle colonne derivano dall'insieme distinto di chiavi JSON
.
I valori dei campi contengono i tipi SQL formattati derivati.
La struttura di ogni record viene combinata 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 dati JSON
è uguale a quello derivato dal codice seguente.
SELECT * FROM json.`/my/data`;
Per derivare lo schema di una singola stringa di JSON
, 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>>