extractKeyValuePairs
Introduit dans : v23.4.0 Extrait des paires clé-valeur depuis n’importe quelle chaîne. La chaîne n’a pas besoin d’être structurée à 100 % au format de paires clé-valeur ; Il peut contenir du bruit (par exemple, des fichiers de log). Le format des paires clé-valeur à interpréter doit être spécifié via les arguments de la fonction. Une paire clé-valeur est composée d’une clé suivie d’unkey_value_delimiter et d’une valeur. Les clés et valeurs entre guillemets sont également prises en charge. Les paires clé-valeur doivent être séparées par des délimiteurs de paires.
Syntaxe
data- Chaîne dont extraire des paires clé-valeur. String ou FixedString.key_value_delimiter- Caractère utilisé comme délimiteur entre la clé et la valeur. La valeur par défaut est:. String ou FixedString.pair_delimiters- Ensemble de caractères utilisés comme délimiteurs entre les paires. La valeur par défaut est\space,,et;. String ou FixedString.quoting_character- Caractère utilisé comme caractère de guillemet. La valeur par défaut est". String ou FixedString.unexpected_quoting_character_strategy- Stratégie de gestion des caractères de guillemet lorsqu’ils apparaissent à des emplacements inattendus pendant les phasesread_keyetread_value. Valeurs possibles :invalid,acceptetpromote. Invalid supprimera la clé/valeur et reviendra à l’étatWAITING_KEY. Accept le traitera comme un caractère normal. Promote passera à l’étatREAD_QUOTED_{KEY/VALUE}et commencera à partir du caractère suivant. La valeur par défaut estPROMOTE
- Les paires clé-valeur extraites sous forme de Map(String, String).
mapFromString, str_to_map
Arguments
- Aucun.
extractKeyValuePairsWithEscaping
Introduit dans : v23.4.0 Identique àextractKeyValuePairs, mais avec la prise en charge de l’échappement.
Séquences d’échappement prises en charge : \x, \N, \a, \b, \e, \f, \n, \r, \t, \v et \0.
Les séquences d’échappement non standard sont renvoyées telles quelles (y compris le backslash), sauf si elles correspondent à l’une des suivantes :
\\, ', ", backtick, /, = ou des caractères de contrôle ASCII (c <= 31).
Cette fonction couvre le cas d’usage où le pré-échappement et le post-échappement ne conviennent pas. Par exemple, considérons la
chaîne d’entrée suivante : a: "aaaa\"bbb". La sortie attendue est : a: aaaa\"bbbb.
- Pré-échappement : en appliquant le pré-échappement, on obtient
a: "aaaa"bbb"etextractKeyValuePairsrenverra alorsa: aaaa - Post-échappement :
extractKeyValuePairsrenverraa: aaaa\et le post-échappement le conservera tel quel.
- Aucun.
map
Introduit dans : v21.1.0 Crée une valeur de typeMap(key, value) à partir de paires clé-valeur.
Syntaxe
Map(Any, Any)
Exemples
Exemple d’utilisation
Query
Response
mapAdd
Introduit dans : v20.7.0 Rassemble toutes les clés et additionne les valeurs correspondantes. Syntaxearg1[, arg2, ...]— Objets map ou tuples composés de deux tableaux, dans lesquels les éléments du premier tableau représentent les clés et le second tableau contient les valeurs associées à chaque clé.Map(K, V)ouTuple(Array(T), Array(T))
Map(K, V) ou Tuple(Array(T), Array(T))
Exemples
Avec le type map
Query
Response
Query
Response
mapAll
Disponible à partir de : v23.4.0 Vérifie si une condition est remplie pour toutes les paires clé-valeur d’une map.mapAll est une fonction d’ordre supérieur.
Vous pouvez lui passer une fonction lambda en premier argument.
Syntaxe
func— Fonction lambda.Fonction lambdamap— Map à vérifier.Map(K, V)
1 si toutes les paires clé-valeur respectent la condition, 0 sinon. UInt8
Exemples
Exemple d’utilisation
Query
Response
mapApply
Introduit dans : v22.3.0 Applique une fonction à chaque élément d’une map. Syntaxefunc— Fonction lambda.Fonction lambdamap— Map sur laquelle appliquer la fonction.Map(K, V)
func à chaque élément. Map(K, V)
Exemples
Exemple d’utilisation
Query
Response
mapConcat
Introduit dans : v23.4.0 Concatène plusieurs maps en fonction de l’égalité de leurs clés. Si des éléments ayant la même clé existent dans plusieurs maps d’entrée, tous les éléments sont ajoutés à la map de résultat, mais seul le premier est accessible via l’opérateur []. Syntaxemaps— Un nombre quelconque de maps.Map
Map
Exemples
Exemple d’utilisation
Query
Response
mapContainsKey
Introduit dans : v21.2.0 Indique si une clé est présente dans une map. SyntaxemapContains
Arguments
map— Map dans laquelle rechercher.Map(K, V)key— Clé à rechercher. Le type doit correspondre au type de clé de la Map.Any
UInt8
Exemples
Exemple d’utilisation
Query
Response
mapContainsKeyLike
Introduit dans : v23.4.0 Vérifie si la map contient une clé correspondant au motif spécifié parLIKE.
Syntaxe
map— Map dans laquelle rechercher.Map(K, V)pattern— Motif auquel comparer les clés.const String
1 si map contient une clé correspondant à pattern, sinon 0. UInt8
Exemples
Exemple d’utilisation
Query
Response
mapContainsKeyValue
Introduit dans : v26.9.0 Indique si la map contient une entrée ayant la clé et la valeur indiquées. Pour les arguments qui ne sont pasNULL, cela équivaut à
arrayExists((k, v) -> k = key AND v = value, mapKeys(map), mapValues(map)).
Une valeur NULL ne correspond qu’à une autre valeur NULL, comme dans mapContainsKey et mapContainsValue, au lieu de
donner lieu à une comparaison dont le résultat est inconnu, comme avec l’opérateur =.
Toutes les entrées sont prises en compte, contrairement à map[key] = value, qui ne compare que la valeur de la première
occurrence de key.
Un index de texte utilisant le tokeniseur keyValuePairs
permet d’évaluer cette fonction directement à partir de l’index.
Syntaxe
map— La map dans laquelle effectuer la recherche.Map(K, V)key— La clé à rechercher. Son type doit correspondre à celui des clés de la map.Anyvalue— La valeur à rechercher. Son type doit correspondre à celui des valeurs de la map.Any
1 si la map contient une entrée associant la clé et la valeur, 0 sinon. UInt8
Exemples
Utilisation de base
Query
Response
Query
Response
Query
Response
mapContainsValue
Introduit dans : v25.6.0 Indique si une valeur est présente dans une map. Syntaxemap— Map dans laquelle rechercher.Map(K, V)value— Valeur à rechercher. Le type doit correspondre au type des valeurs de la map.Any
1 si la map contient la valeur, 0 sinon. UInt8
Exemples
Exemple d’utilisation
Query
Response
mapContainsValueLike
Introduit dans : v25.5.0 Vérifie si une map contient une valeur correspondant au motif spécifié avecLIKE.
Syntaxe
map— Map dans laquelle effectuer la recherche.Map(K, V)pattern— Motif auquel comparer les valeurs.const String
1 si map contient une valeur correspondant à pattern, sinon 0. UInt8
Exemples
Exemple d’utilisation
Query
Response
mapEntries
Introduit dans : v26.10.0 Renvoie les paires clé-valeur d’une map sous la forme d’un tableau de tuples nommés comportant les champskey et value.
Les clés en double sont conservées.
Syntaxe
map— Map dont extraire les entrées.Map(K, V)
Array(Tuple(key K, value V))
Exemples
Exemple d’utilisation
Query
Response
mapExists
Introduit dans : v23.4.0 Teste si une condition est vérifiée pour au moins une paire clé-valeur dans une Map.mapExists est une fonction d’ordre supérieur.
Vous pouvez lui passer une fonction lambda comme premier argument.
Syntaxe
func— Facultatif. Fonction lambda.Fonction lambdamap— Map à tester.Map(K, V)
1 si au moins une paire clé-valeur remplit la condition, 0 sinon. UInt8
Exemples
Exemple d’utilisation
Query
Response
mapExtractKeyLike
Introduit dans : v23.4.0 Étant donné une Map avec des clés de type chaîne et un motifLIKE, cette fonction renvoie une Map contenant les éléments dont la clé correspond au motif.
Syntaxe
map— Map à partir de laquelle extraire.Map(K, V)pattern— Motif auquel les clés doivent correspondre.const String
Map(K, V)
Exemples
Exemple d’utilisation
Query
Response
mapExtractValueLike
Introduit dans : v25.5.0 Étant donné une map dont les valeurs sont des chaînes de caractères et un motifLIKE, cette fonction renvoie une map contenant les éléments dont la valeur correspond au motif.
Syntaxe
map— Map à partir de laquelle effectuer l’extraction.Map(K, V)pattern— Motif auquel les valeurs doivent correspondre.const String
Map(K, V)
Exemples
Exemple d’utilisation
Query
Response
mapFilter
Introduit dans : v22.3.0 Filtre une map en appliquant une fonction à chaque élément. Syntaxefunc— Fonction lambda.Fonction lambdamap— Map à filtrer.Map(K, V)
Map ne contenant que les éléments pour lesquels func renvoie une valeur différente de 0. Map(K, V)
Exemples
Exemple d’utilisation
Query
Response
mapFromArrays
Introduit dans : v23.3.0 Crée un Map à partir d’un tableau ou d’un Map de clés et d’un tableau ou d’un Map de valeurs. La fonction est une alternative pratique à la syntaxeCAST([...], 'Map(key_type, value_type)').
Syntaxe
MAP_FROM_ARRAYS
Arguments
keys— tableau ou map de clés utilisée pour créer la map.tableauouMapvalues— tableau ou map de valeurs utilisée pour créer la map.tableauouMap
Map
Exemples
Utilisation de base
Query
Response
Query
Response
mapKeys
Introduit dans : v21.2.0 Renvoie les clés de la map donnée. Cette fonction peut être optimisée en activant le paramètreoptimize_functions_to_subcolumns.
Lorsque ce paramètre est activé, la fonction lit uniquement la sous-colonne keys au lieu de lire la map entière.
La requête SELECT mapKeys(m) FROM table est transformée en SELECT m.keys FROM table.
Syntaxe
map— Map dont les clés doivent être extraites.Map(K, V)
Array(T)
Exemples
Exemple d’utilisation
Query
Response
mapPartialReverseSort
Introduit dans : v23.4.0 Trie les éléments d’une map par ordre décroissant, avec un argument de limite supplémentaire permettant un tri partiel. Si la fonction func est spécifiée, l’ordre de tri est déterminé par le résultat de la fonction func appliquée aux clés et aux valeurs de la map. Syntaxefunc— Facultatif. Fonction lambda.Fonction lambdalimit— Les éléments de l’intervalle[1..limit]sont triés.(U)Int*map— Map à trier.Map(K, V)
Map(K, V)
Exemples
Exemple d’utilisation
Query
Response
mapPartialSort
Introduit dans : v23.4.0 Trie les éléments d’une map par ordre croissant, avec un argument limit supplémentaire permettant un tri partiel. Si la fonction func est spécifiée, l’ordre de tri est déterminé par le résultat de la fonction func appliquée aux clés et aux valeurs de la map. Syntaxefunc— Facultatif. Fonction lambda.Fonction lambdalimit— Les éléments de la plage[1..limit]sont triés.(U)Int*map— Map à trier.Map(K, V)
Map(K, V)
Exemples
Exemple d’utilisation
Query
Response
mapPopulateSeries
Introduite dans : v20.10.0 Remplit les paires clé-valeur manquantes dans une map à clés entières. Pour permettre d’étendre les clés au-delà de la valeur la plus élevée, une clé maximale peut être spécifiée. Plus précisément, la fonction renvoie une map dans laquelle les clés forment une série allant de la plus petite à la plus grande clé (ou jusqu’à l’argument max, s’il est spécifié), avec un pas de 1, ainsi que les valeurs correspondantes. Si aucune valeur n’est spécifiée pour une clé, une valeur par défaut est utilisée. Si des clés sont répétées, seule la première valeur (dans l’ordre d’apparition) est associée à la clé. Syntaxemap— Map à clés entières.Map((U)Int*, V)keys— Tableau de clés.Array(T)values— Tableau de valeurs.Array(T)max— Facultatif. Valeur de clé maximale.Int8ouInt16ouInt32ouInt64ouInt128ouInt256
Map(K, V) ou Tuple(Array(UInt*), Array(Any))
Exemples
Avec le type Map
Query
Response
Query
Response
mapRemove
Introduit dans : v26.10.0 Supprime d’une map toutes les entrées dont la clé est égale à la clé spécifiée. Si plusieurs entrées partagent la même clé, elles sont toutes supprimées. Les valeurs NULL sont comparées comme des valeurs ordinaires : une clé de suppression NULL ne correspond pas à une clé non NULL, et les composants NULL des clés composites correspondent aux autres composants NULL. Pour les types de clés ayant un supertype commun, les clés NaN suivent la sémantique du lookup dans une map : une clé de suppression NaN correspond donc à une clé NaN de la map. Syntaxemap— Map dont les entrées correspondantes doivent être supprimées.Map(K, V)key— Clé dont les entrées correspondantes sont supprimées. Son type doit être comparable au type des clés de la map.Any
Map(K, V)
Exemples
Exemple d’utilisation
Query
Response
mapReverseSort
Introduit dans : v23.4.0 Trie les éléments d’une map par ordre décroissant. Si la fonction func est spécifiée, l’ordre de tri est déterminé par le résultat de la fonction func appliquée aux clés et aux valeurs de la map. Syntaxefunc— Facultatif. Fonction lambda.Fonction lambdamap— Map à trier.Map(K, V)
Map(K, V)
Exemples
Exemple d’utilisation
Query
Response
mapSort
Introduit dans : v23.4.0 Trie les éléments d’une map par ordre croissant. Si la fonction func est spécifiée, l’ordre de tri est déterminé par le résultat de la fonction func appliquée aux clés et aux valeurs de la map. Syntaxefunc— Facultatif. Fonction lambda.Fonction lambdamap— Map à trier.Map(K, V)
Map(K, V)
Exemples
Exemple d’utilisation
Query
Response
mapSubtract
Introduit dans : v20.7.0 Rassemble toutes les clés et soustrait les valeurs correspondantes. Syntaxearg1[, arg2, ...]— Des Map ou des tuples de deux tableaux, dans lesquels les éléments du premier tableau représentent des clés et le second tableau contient les valeurs associées à chaque clé.Map(K, V)ouTuple(Array(T), Array(T))
Map(K, V) ou Tuple(Array(T), Array(T))
Exemples
Avec le type Map
Query
Response
Query
Response
mapUpdate
Introduit dans : v22.3.0 Pour deux maps, renvoie la première map avec les valeurs mises à jour à partir des valeurs des clés correspondantes dans la seconde map. Syntaxemap1 avec les valeurs mises à jour à partir des valeurs des clés correspondantes dans map2. Map(K, V)
Exemples
Utilisation de base
Query
Response
mapValues
Introduit dans : v21.2.0 Renvoie les valeurs de la map donnée. Cette fonction peut être optimisée en activant le paramètreoptimize_functions_to_subcolumns.
Lorsque ce paramètre est activé, la fonction lit uniquement la sous-colonne values au lieu de lire la map entière.
La requête SELECT mapValues(m) FROM table est transformée en SELECT m.values FROM table.
Syntaxe
map— Map à partir de laquelle extraire les valeurs.Map(K, V)
Array(T)
Exemples
Exemple d’utilisation
Query
Response