schema_of_json_agg
집계 함수
적용 대상: Databricks SQL Databricks Runtime 13.2 이상
그룹에 있는 모든 JSON 문자열을 합쳐서 DDL 형식의 schema로 반환합니다.
구문
schema_of_json_agg(jsonStr [, options] ) [FILTER ( WHERE cond ) ]
이 함수는
인수
-
jsonStr
: .가STRING
있는 리터럴입니다JSON
. -
options
:MAP
리터럴로서 선택적으로 키와 values가STRING
인 것입니다. 옵션에 대한 자세한 내용은 from_json 함수를 참조하세요. -
cond
: 집계에 사용되는 행을 필터링하는 선택적BOOLEAN
식입니다.
반품
column 이름이 JSON
키의 고유 set 파생될 wheren
문자열 필드가 있는 구조체 배열의 정의를 포함하는 STRING
.
필드 values는 파생된 형식의 SQL 유형을 저장합니다.
각 레코드의 schema가 필드 이름에 따라 함께 병합됩니다.
이름이 같은 두 필드의 형식이 레코드 간에 다른 경우 Azure Databricks는 가장 일반적인 형식을 사용합니다.
이러한 형식이 없으면 형식이 로 STRING
파생됩니다.
예를 들어, INT
DOUBLE
될 DOUBLE
, 동안 STRUCT<i INT>
및 STRING
될 STRING
.
다음에서 파생된 것과 같은 schema은 JSON
데이터의 column을 읽어서 얻은 것입니다.
SELECT * FROM json.`/my/data`;
단일 JSON
문자열의 schema 파생하려면 schema_of_json 함수사용합니다.
예제
> 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>>