aggregate_function_input_format
Comment les formats d’entrée lisent les colonnes de typeAggregateFunction.
Valeurs possibles :
state— l’état sérialisé de la fonction d’agrégation, tel que l’écrivent les formats de sortie (valeur par défaut).value— une valeur de l’argument de la fonction d’agrégation, ou un tuple des arguments s’il y en a plusieurs. La valeur est agrégée pour former l’état.array— un tableau de valeurs, telles que décrites pour l’optionvalueci-dessus. Tous les éléments du tableau sont agrégés pour former l’état.
value et array, le format lit la colonne comme si elle était du type des valeurs : T pour AggregateFunction(f, T), Tuple(T1, T2) pour AggregateFunction(f, T1, T2), ou un Array de ce type en mode array. Les valeurs sont écrites selon la représentation que le format emploie pour ce type : un nombre ou une chaîne dans un format texte, un tableau JSON dans les JSON formats, l’encodage binaire du type dans RowBinary ou Native, une colonne de ce type dans Parquet, etc. Cela vaut pour tous les formats d’entrée, ainsi que pour les AggregateFunction imbriquées dans Array, Tuple ou Map.
Exemples
Pour une table ayant la structure suivante :
aggregate_function_input_format = 'value' :
aggregate_function_input_format = 'array' :
value et array sont plus lents que le format state par défaut, car ils nécessitent de créer et d’agréger les valeurs lors de l’insertion.
aggregate_functions_null_for_empty
Active ou désactive la réécriture de toutes les fonctions d’agrégation d’une requête, en leur ajoutant le suffixe -OrNull. Activez ce paramètre pour assurer la compatibilité avec la norme SQL. Cette fonctionnalité est implémentée via une réécriture de requête (semblable au paramètre count_distinct_implementation) afin d’obtenir des résultats cohérents pour les requêtes distribuées. Valeurs possibles :- 0 — Désactivé.
- 1 — Activé.
aggregate_functions_null_for_empty = 0, on obtiendrait :
aggregate_functions_null_for_empty = 1, le résultat serait :