Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Databricks SQL
Databricks Runtime 13.2 a vyšší
Vrátí kombinované schéma všech řetězců JSON ve skupině ve formátu DDL.
Syntaxe
schema_of_json_agg(jsonStr [, options] ) [FILTER ( WHERE cond ) ]
Tuto funkci lze také vyvolat jako funkci okna pomocí OVER klauzule.
Argumenty
-
jsonStrSTRING: Literál sJSON. -
options: VolitelnýMAPliterál s klíči a hodnotami, které jsouSTRING. Podrobnosti o možnostech najdete vfrom_jsonfunkci. -
cond: VolitelnýBOOLEANvýraz filtrující řádky použité pro agregaci.
Návraty
Držící definici pole struktur s poli strun, kde názvy sloupců jsou odvozeny z odlišné sady klíčů. Hodnoty polí obsahují odvozené formátované typy SQL.
Schéma každého záznamu je spojeno dohromady podle názvu pole.
Pokud mají dvě pole se stejným názvem jiný typ napříč záznamy, Azure Databricks používá nejméně společný typ.
Pokud takový typ neexistuje, typ je odvozen jako STRING.
Například INT a DOUBLE se stanou DOUBLE, zatímco STRUCT<i INT> a STRING se stanou STRING.
Schéma získané ze čtení sloupce JSON dat je stejné jako schéma odvozené z následujícího příkladu.
SELECT * FROM json.`/my/data`;
K odvození schématu jednoho JSON řetězce použijte schema_of_json funkci.
Příklady
> 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>>