schema_of_variant_agg
-Aggregatfunktion
Gilt für: Databricks SQL Databricks Runtime 15.3 und höher
Gibt das kombinierte Schema aller VARIANT
-Werte in einer Gruppe im DDL-Format zurück
Syntax
schema_of_variant_agg ( variantExpr ) [FILTER ( WHERE cond ) ]
Argumente
variantExpr
: EinVARIANT
-Ausdruck.cond
: Ein optionalerBOOLEAN
-Ausdruck, der die für die Aggregation verwendeten Zeilen filtert.
Gibt zurück
Ein STRING
-Typ mit einer Schemadefinition des variantExpr
.
Die Typen im Schema sind die abgeleiteten formatierten SQL-Typen.
Das Schema jedes VARIANT
-Werts wird anhand des Feldnamens zusammengeführt. Wenn zwei Felder mit demselben Namen in verschiedenen Datensätzen einen anderen Typ aufweisen, verwendet Azure Databricks den am wenigsten allgemeinen Typ.
Wenn kein solcher Typ vorhanden ist, wird der Typ als VARIANT
abgeleitet. INT
und DOUBLE
werden beispielsweise zuDOUBLE
, TIMESTAMP
und STRING
hingegen zu VARIANT
.
Verwenden Sie die schema_of_variant-Funktion, um das Schema eines einzelnen VARIANT
-Werts abzuleiten.
Beispiele
-- 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>