schema_of_variant_agg
集計関数
適用対象: Databricks SQL Databricks Runtime 15.3 以降
グループ内のすべての VARIANT
値を結合したスキーマを DDL 形式で返します。
構文
schema_of_variant_agg ( variantExpr ) [FILTER ( WHERE cond ) ]
引数
variantExpr
:VARIANT
式。cond
: 集計に使用される行をフィルター処理するBOOLEAN
式 (省略可能)。
返品
variantExpr
のスキーマ定義を保持する STRING
。
スキーマ内の型は、導出された書式設定済みの SQL 型です。
VARIANT
の値それぞれのスキーマは、フィールド名別にマージされます。 同じ名前の 2 つのフィールドの種類がレコード間で異なる場合、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>