Megosztás a következőn keresztül:


schema_of_json_agg összesítő függvény

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime 13.2 és újabb

A csoport összes JSON-sztringjének összevont sémáját adja vissza DDL formátumban.

Syntax

schema_of_json_agg(jsonStr [, options] ) [FILTER ( WHERE cond ) ]

Ez a függvény ablakfüggvényként is meghívható a OVER záradék használatával.

Argumentumok

  • jsonStr: Egy STRING literál a következővel JSON: .
  • options: Választható MAP konstans kulcsokkal és értékekkel STRING. A beállítások részleteiért lásd from_json függvényt.
  • cond: Nem kötelező BOOLEAN kifejezés, amely az összesítéshez használt sorokat szűri.

Válaszok

A STRING szerkezetek tömbjének definícióját tartalmazó, sztringmezőkkel rendelkező n tömb, ahol az oszlopnevek a kulcsok különböző készletéből JSON származnak. A mezőértékek a származtatott formázott SQL-típusokat tartják.

Az egyes rekordok sémája mezőnévvel egyesül. Ha két azonos nevű mező különböző típusú rekordokat tartalmaz, az Azure Databricks a legkevésbé gyakori típust használja. Ha ilyen típus nem létezik, a típus a következőképpen lesz származtatva STRING. Például, INT és váljon DOUBLE, amíg STRUCT<i INT> és STRING válik STRINGDOUBLE .

Az adatoszlop olvasásából JSON nyert séma megegyezik az alábbiakból származtatott sémával.

SELECT * FROM json.`/my/data`;

Egyetlen JSON sztring sémájának származtatásához használja schema_of_json függvényt.

Példák

> 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>>