Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:
Databricks SQL
Databricks Runtime 13.2 lub nowsze
Zwraca połączony schemat wszystkich ciągów JSON w grupie w formacie DDL.
Składnia
schema_of_json_agg(jsonStr [, options] ) [FILTER ( WHERE cond ) ]
Tę funkcję można również wywołać jako funkcję okna przy użyciu klauzuli OVER.
Argumenty
-
jsonStr: literałSTRINGzJSON. -
options: opcjonalny literałMAPzawierający klucze i wartościSTRING. Aby uzyskać szczegółowe informacje na temat opcji, zobaczfrom_jsonfunkcja. -
cond: opcjonalneBOOLEANwyrażenie filtrujące wiersze używane do agregacji.
Zwraca
STRING zawierające definicję tablicy struktur z polami n ciągów, w których nazwy kolumn pochodzą z odrębnego zestawu kluczy JSON .
Wartości pól przechowują pochodzące sformatowane typy SQL.
Schemat każdego rekordu jest scalony ze sobą według nazwy pola.
Jeśli dwa pola o tej samej nazwie mają inny typ w rekordach, usługa Azure Databricks używa najmniej typowego typu.
Jeśli taki typ nie istnieje, typ jest traktowany jako STRING.
Na przykład INT i DOUBLE stają się DOUBLE, podczas gdy STRUCT<i INT> i STRING stają się STRING.
Schemat uzyskany z odczytu kolumny JSON danych jest taki sam jak schemat uzyskany z poniższego.
SELECT * FROM json.`/my/data`;
Aby uzyskać schemat pojedynczego JSON ciągu, użyj schema_of_json funkcji .
Przykłady
> 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>>