aggregate_function_input_format
Como os input formats leem colunas do tipoAggregateFunction.
Valores possíveis:
state— o estado serializado da função de agregação, tal como os output formats o gravam (o padrão).value— um valor do argumento da função de agregação, ou uma tupla dos argumentos caso haja vários. O valor é agregado para formar o estado.array— um array de valores, conforme descrito na opçãovalueacima. Todos os elementos do array são agregados para formar o estado.
value e array, o formato lê a coluna como se ela tivesse o tipo dos valores: T para AggregateFunction(f, T), Tuple(T1, T2) para AggregateFunction(f, T1, T2), ou um Array desse tipo no modo array. Os valores são gravados na representação que o formato usa para aquele tipo: um número ou uma string em um Text format, um JSON array nos JSON formats, o binary encoding do tipo em RowBinary ou Native, uma coluna desse tipo em Parquet, e assim por diante. Isso vale para todos os input formats e também para AggregateFunction aninhado em Array, Tuple ou Map.
Exemplos
Para uma tabela com a estrutura:
aggregate_function_input_format = 'value':
aggregate_function_input_format = 'array':
value e array são mais lentos que o formato padrão state, pois exigem a criação e a agregação de valores durante a inserção.
aggregate_functions_null_for_empty
Ativa ou desativa a reescrita de todas as funções de agregação em uma consulta, adicionando o sufixo -OrNull a elas. Ative esta opção para compatibilidade com o padrão SQL. Isso é implementado por meio da reescrita da consulta (semelhante à configuração count_distinct_implementation) para obter resultados consistentes em consultas distribuídas. Possíveis valores:- 0 — Desabilitado.
- 1 — Habilitado.
aggregate_functions_null_for_empty = 0, o resultado seria:
aggregate_functions_null_for_empty = 1, o resultado seria: