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