aggregate_function_input_format
Cómo leen los formatos de entrada las columnas de tipoAggregateFunction.
Valores posibles:
state— el estado serializado de la función de agregación, tal como lo escriben los formatos de salida (valor predeterminado).value— un valor del argumento de la función de agregación, o una tupla de los argumentos si hay varios. El valor se agrega para formar el estado.array— un array de valores, tal como se describe en la opciónvalueanterior. Todos los elementos del array se agregan para formar el estado.
value y array, el formato lee la columna como si tuviera el tipo de los valores: T para AggregateFunction(f, T), Tuple(T1, T2) para AggregateFunction(f, T1, T2), o un Array de ese tipo en el modo array. Los valores se escriben con la representación que el formato emplea para ese tipo: un número o una cadena en un formato de texto, un array JSON en los formatos JSON, la codificación binaria del tipo en RowBinary o Native, una columna de ese tipo en Parquet, etc. Esto se aplica a todos los formatos de entrada, y también a AggregateFunction anidado en Array, Tuple o Map.
Ejemplos
Para una tabla con la estructura:
aggregate_function_input_format = 'value':
aggregate_function_input_format = 'array':
value y array son más lentos que el formato predeterminado state, ya que requieren crear y agregar valores durante la inserción.
aggregate_functions_null_for_empty
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.
aggregate_functions_null_for_empty = 0 se obtendría:
aggregate_functions_null_for_empty = 1, el resultado sería: