Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

ajustes de sesión de aggregate_*

Estos ajustes están disponibles en system.settings y se generan automáticamente a partir del código fuente.

aggregate_function_input_format

Tipo
AggregateFunctionInputFormat
Predeterminado
state
Historial de versiones
VersiónValor predeterminadoComentario
25.12stateNueva configuración para controlar el formato de entrada de AggregateFunction durante las operaciones INSERT. El valor de la configuración se establece en `state` de forma predeterminada

Formato de la entrada de AggregateFunction durante las operaciones INSERT.

Valores posibles:

  • state — Cadena binaria con el estado serializado (valor predeterminado). Este es el comportamiento predeterminado, en el que se espera que los valores de AggregateFunction sean datos binarios.
  • value — El formato espera un único valor del argumento de la función de agregación o, en caso de varios argumentos, una tupla con ellos. Se deserializarán mediante el IDataType correspondiente o DataTypeTuple y luego se agregarán para formar el estado.
  • array — El formato espera un Array de valores, como se describe en la opción value anterior. Todos los elementos del array se agregarán para formar el estado.

Ejemplos

Para una tabla con la estructura:

CREATE TABLE example (
    user_id UInt64,
    avg_session_length AggregateFunction(avg, UInt32)
);

Con aggregate_function_input_format = 'value':

INSERT INTO example FORMAT CSV
123,456

Con aggregate_function_input_format = 'array':

INSERT INTO example FORMAT CSV
123,"[456,789,101]"

Nota: los formatos value y array son más lentos que el formato state predeterminado, ya que requieren crear y agregar valores durante la inserción.

aggregate_functions_null_for_empty

Tipo
Bool
Predeterminado
0

Activa o desactiva la reescritura de todas las funciones de agregación de una consulta, añadiéndoles el sufijo -OrNull. Actívelo para garantizar la compatibilidad con el estándar SQL. Se implementa mediante la reescritura de consultas (de forma similar a la configuración count_distinct_implementation) para obtener resultados coherentes en las consultas distribuidas.

Valores posibles:

  • 0 — Deshabilitado.
  • 1 — Habilitado.

Ejemplo

Considere la siguiente consulta con funciones de agregación:

SELECT SUM(-1), MAX(0) FROM system.one WHERE 0;

Con aggregate_functions_null_for_empty = 0 se obtendría:

┌─SUM(-1)─┬─MAX(0)─┐
│       0 │      0 │
└─────────┴────────┘

Con aggregate_functions_null_for_empty = 1, el resultado sería:

┌─SUMOrNull(-1)─┬─MAXOrNull(0)─┐
│          NULL │         NULL │
└───────────────┴──────────────┘
Navigation