Descripción
JSONEachRow.
Ejemplo de uso
Ejemplo básico
format_json_object_each_row_column_for_object_name.
El valor de esta SETTING se establece en el nombre de una columna, que se utiliza como clave JSON para una fila en el objeto resultante.
Resultado
test con dos columnas:
JSONObjectEachRow y usemos la SETTING format_json_object_each_row_column_for_object_name:
Query
Response
Entrada
data.json:
Query
Response
Query
Response
Insertar datos
Query
- Cualquier orden de los pares clave-valor dentro del objeto.
- Omitir algunos valores.
Procesamiento de los valores omitidos
DEFAULT expr, ClickHouse aplica reglas de sustitución diferentes según la SETTING input_format_defaults_for_omitted_fields.
Considere la siguiente tabla:
Query
- Si
input_format_defaults_for_omitted_fields = 0, el valor predeterminado dexyaes0(el valor predeterminado del tipo de datoUInt32). - Si
input_format_defaults_for_omitted_fields = 1, el valor predeterminado dexes0, pero el valor predeterminado deaesx * 2.
Al insertar datos con
input_format_defaults_for_omitted_fields = 1, ClickHouse consume más recursos de cómputo que con la inserción usando input_format_defaults_for_omitted_fields = 0.Selección de datos
UserActivity como ejemplo:
SELECT * FROM UserActivity FORMAT JSONEachRow devuelve:
JSON.
En las cadenas se puede generar cualquier secuencia de bytes. Utilice el formato
JSONEachRow si está seguro de que los datos de la tabla pueden representarse como JSON sin perder información.Uso de estructuras anidadas
Nested, puede insertar datos JSON con la misma estructura. Habilite esta función con la SETTING input_format_import_nested_json.
Por ejemplo, considere la siguiente tabla:
Query
Nested, ClickHouse trata cada componente de la estructura anidada como una columna independiente (n.s y n.i para nuestra tabla). Puede insertar datos de la siguiente manera:
Query
input_format_import_nested_json=1.
Query
Response
Query
Response
Query
Response