schema_of_json_agg
mängdfunktion
Gäller för: Databricks SQL
Databricks Runtime 13.2 och senare
Returnerar det kombinerade schemat för alla JSON-strängar i en grupp i DDL-format.
Syntax
schema_of_json_agg(jsonStr [, options] ) [FILTER ( WHERE cond ) ]
Den här funktionen kan också anropas som en fönsterfunktion med hjälp av OVER
-satsen.
Argument
jsonStr
: EnSTRING
literal medJSON
.options
: En valfriMAP
literal med nycklar och värden somSTRING
. Mer information om alternativ finns i funktionen from_json.cond
: Ett valfrittBOOLEAN
uttryck som filtrerar de rader som används för aggregering.
Returer
En STRING
som innehåller en definition av en matris med structs med fält med n
strängar där kolumnnamnen härleds från den distinkta uppsättningen JSON
nycklar .
Fältvärdena innehåller de härledda formaterade SQL-typerna.
Schemat för varje post sammanfogas med fältnamn.
När två fält med samma namn har en annan typ mellan poster använder Azure Databricks den minst vanliga typen.
När det inte finns någon sådan typ härleds typen som en STRING
.
Till exempel INT
och DOUBLE
bli DOUBLE
, medan STRUCT<i INT>
och STRING
blir STRING
.
Schemat som hämtas från att läsa en datakolumn JSON
är detsamma som det som härleds från följande.
SELECT * FROM json.`/my/data`;
Om du vill härleda schemat för en enskild JSON
sträng använder du funktionen schema_of_json.
Exempel
> 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>>
Relaterade funktioner
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för