Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:
Databricks SQL
Runtime 13.2 y versiones posteriores
Devuelve el esquema combinado de todas las cadenas JSON en un grupo en formato DDL.
Sintaxis
schema_of_json_agg(jsonStr [, options] ) [FILTER ( WHERE cond ) ]
Esta función también se puede invocar como una función de ventana mediante la cláusula OVER.
Argumentos
-
jsonStr: UnSTRINGliteral conJSON. -
options: UnMAPliteral opcional con claves y valoresSTRING. Para obtener más información sobre las opciones, consultefrom_jsonfunción. -
cond: Una expresiónBOOLEANopcional que filtra las filas usadas para la agregación.
Devoluciones
Una STRING que contiene una definición de una matriz de structs con campos n de cadenas donde los nombres de columna se derivan del conjunto distintivo de claves JSON.
Los valores de los campos contienen los tipos SQL con formato derivados.
El esquema de cada registro se combina por el nombre de campo.
Cuando dos campos con el mismo nombre tienen un tipo diferente entre registros, Azure Databricks usa el tipo menos común.
Cuando no hay tal tipo, se deriva como STRING.
Por ejemplo, INT y DOUBLE se convierten en DOUBLE mientras que STRUCT<i INT> y STRING se convierte en STRING.
El esquema obtenido de la lectura de una columna de datos JSON es el mismo que el que se deriva de lo siguiente.
SELECT * FROM json.`/my/data`;
Para derivar el esquema de una sola JSON cadena, use schema_of_json function.
Ejemplos
> 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>>