다음에 적용됨: Databricks SQL
Databricks Runtime 15.3 이상
그룹에 있는 모든 VARIANT
값의 결합된 스키마를 DDL 형식으로 반환합니다.
구문
schema_of_variant_agg ( variantExpr ) [FILTER ( WHERE cond ) ]
주장
-
variantExpr
:VARIANT
식입니다. -
cond
: 집계에 사용되는 행을 필터링하는 선택적BOOLEAN
식입니다.
반품
STRING
의 스키마 정의를 포함하고 있는 variantExpr
.
스키마의 유형은 파생된 형식화된 SQL 유형입니다.
각 VARIANT
값의 스키마는 필드 이름으로 함께 병합됩니다. 이름이 같은 두 필드의 형식이 레코드 간에 다른 경우 Azure Databricks는 가장 일반적인 형식을 사용합니다.
이러한 형식이 없으면 형식이 로 VARIANT
파생됩니다. 예를 들어, INT
및 DOUBLE
는 DOUBLE
로 변하고, TIMESTAMP
및 STRING
는 VARIANT
로 변합니다.
단일 VARIANT
값의 스키마를 파생하려면 schema_of_variant 함수를 사용합니다.
예제
-- Simple example
> SELECT schema_of_variant_agg(a) FROM VALUES(parse_json('{"foo": "bar"}')) AS data(a);
OBJECT<foo: STRING>
> SELECT schema_of_variant_agg(a) FROM VALUES(parse_json('[1]')) AS data(a);
ARRAY<BIGINT>
> CREATE TEMPORARY VIEW data(a) AS VALUES
(parse_json('{"foo": "bar", "wing": {"ding": "dong"}}')),
(parse_json('{"wing": 123}'));
> SELECT schema_of_variant_agg(a) FROM data;
OBJECT<foo: STRING, wing: VARIANT>