extractKeyValuePairs
Introducido en: v23.4.0 Extrae pares clave-valor de cualquier cadena. La cadena no necesita estar estructurada al 100% en formato de par clave-valor; Puede contener ruido (p. ej., archivos de log). El formato de par clave-valor que se desea interpretar debe especificarse mediante los argumentos de la función. Un par clave-valor consiste en una clave seguida de unkey_value_delimiter y un valor. También se admiten claves y valores entre comillas. Los pares clave-valor deben separarse mediante delimitadores de par.
Sintaxis
data- Cadena de la que se extraen pares clave-valor. String o FixedString.key_value_delimiter- Carácter que se usará como delimitador entre la clave y el valor. El valor predeterminado es:. String o FixedString.pair_delimiters- Conjunto de caracteres que se usarán como delimitadores entre pares. El valor predeterminado es\space,,y;. String o FixedString.quoting_character- Carácter que se usará como carácter de cita. El valor predeterminado es". String o FixedString.unexpected_quoting_character_strategy- Estrategia para manejar caracteres de cita en ubicaciones inesperadas durante la fase deread_keyyread_value. Valores posibles:invalid,acceptypromote.invaliddescartará la clave o el valor y volverá al estadoWAITING_KEY.acceptlo tratará como un carácter normal.promotecambiará al estadoREAD_QUOTED_{KEY/VALUE}y comenzará desde el siguiente carácter. El valor predeterminado esPROMOTE
- Los pares clave-valor extraídos en formato Map(String, String).
mapFromString, str_to_map
Argumentos
- Ninguno.
extractKeyValuePairsWithEscaping
Introducido en: v23.4.0 Igual queextractKeyValuePairs, pero con soporte para secuencias de escape.
Secuencias de escape admitidas: \x, \N, \a, \b, \e, \f, \n, \r, \t, \v y \0.
Las secuencias de escape no estándar se devuelven tal cual (incluida la barra invertida), a menos que sean una de las siguientes:
\\, ', ", backtick, /, = o caracteres de control ASCII (c <= 31).
Esta función cubre los casos en los que el escape previo y el escape posterior no resultan adecuados. Por ejemplo, considere la siguiente
cadena de entrada: a: "aaaa\"bbb". La salida esperada es: a: aaaa\"bbbb.
- Escape previo: al aplicarlo, la salida será:
a: "aaaa"bbb"y luegoextractKeyValuePairsdevolverá:a: aaaa - Escape posterior:
extractKeyValuePairsdevolveráa: aaaa\y el escape posterior lo conservará tal cual.
- Ninguno.
map
Introducido en: v21.1.0 Crea un valor de tipoMap(key, value) a partir de pares clave-valor.
Sintaxis
key_n— Las claves de las entradas del mapa.Anyvalue_n— Los valores de las entradas del mapa.Any
Map(Any, Any)
Ejemplos
Ejemplo de uso
Query
Response
mapAdd
Introducido en: v20.7.0 Recopila todas las claves y suma los valores correspondientes. Sintaxisarg1[, arg2, ...]— mapas o tuplas de dos arrays en los que los elementos del primer array representan claves y el segundo array contiene los valores de cada clave.Map(K, V)oTuple(Array(T), Array(T))
Map(K, V) o Tuple(Array(T), Array(T))
Ejemplos
Con el tipo Map
Query
Response
Query
Response
mapAll
Introducido en: v23.4.0 Comprueba si una condición se cumple para todos los pares clave-valor de un mapa.mapAll es una función de orden superior.
Puede recibir una función lambda como primer argumento.
Sintaxis
func— Función lambda.Función lambdamap— mapa que se debe comprobar.Map(K, V)
1 si todos los pares clave-valor cumplen la condición; en caso contrario, 0. UInt8
Ejemplos
Ejemplo de uso
Query
Response
mapApply
Introducido en: v22.3.0 Aplica una función a cada elemento de un mapa. Sintaxisfunc— Función lambda.Función lambdamap— mapa al que se aplica la función.Map(K, V)
func a cada elemento. Map(K, V)
Ejemplos
Ejemplo de uso
Query
Response
mapConcat
Introducido en: v23.4.0 Concatena varios mapas según la igualdad de sus claves. Si hay elementos con la misma clave en más de un mapa de entrada, todos los elementos se añaden al mapa resultante, pero solo se puede acceder al primero mediante el operador []. Sintaxismaps— Una cantidad arbitraria de mapas.Map
Map
Ejemplos
Ejemplo de uso
Query
Response
mapContainsKey
Introducido en: v21.2.0 Determina si un mapa contiene una clave. SintaxismapContains
Argumentos
map— Mapa en el que se va a buscar.Map(K, V)key— Clave que se va a buscar. El tipo debe coincidir con el tipo de clave del mapa.Any
UInt8
Ejemplos
Ejemplo de uso
Query
Response
mapContainsKeyLike
Introducido en: v23.4.0 Comprueba si el mapa contiene una clave que coincida con el patrónLIKE especificado.
Sintaxis
map— Mapa en el que buscar.Map(K, V)pattern— Patrón con el que se comparan las claves.const String
1 si map contiene una clave que coincide con pattern; en caso contrario, 0. UInt8
Ejemplos
Ejemplo de uso
Query
Response
mapContainsKeyValue
Introducida en: v26.9.0 Indica si el mapa contiene una entrada con la clave y el valor indicados. Cuando los argumentos no sonNULL, equivale a
arrayExists((k, v) -> k = key AND v = value, mapKeys(map), mapValues(map)).
Un NULL solo coincide con otro NULL, como en mapContainsKey y mapContainsValue, en lugar de
producir un resultado desconocido al compararlos, como ocurre con =.
Se tienen en cuenta todas las entradas, a diferencia de map[key] = value, que solo compara el valor de la primera
aparición de key.
Un índice de texto con el tokenizador keyValuePairs
permite resolver esta función mediante el índice.
Sintaxis
map— El mapa en el que se realiza la búsqueda.Map(K, V)key— La clave que se busca. Su tipo debe coincidir con el de las claves del mapa.Anyvalue— El valor que se busca. Su tipo debe coincidir con el de los valores del mapa.Any
1 si el mapa contiene una entrada con la clave y el valor indicados; de lo contrario, devuelve 0. UInt8
Ejemplos
Uso básico
Query
Response
Query
Response
Query
Response
mapContainsValue
Introducido en: v25.6.0 Determina si un mapa contiene un valor. Sintaxismap— Mapa en el que buscar.Map(K, V)value— Valor que se va a buscar. El tipo debe coincidir con el tipo de valor demap.Any
1 si map contiene el valor, 0 si no. UInt8
Ejemplos
Ejemplo de uso
Query
Response
mapContainsValueLike
Introducido en: v25.5.0 Comprueba si un mapa contiene un valor que coincide con el patrón especificado medianteLIKE.
Sintaxis
map— Mapa donde buscar.Map(K, V)pattern— Patrón con el que comparar los valores.const String
1 si map contiene un valor que coincide con pattern; de lo contrario, 0. UInt8
Ejemplos
Ejemplo de uso
Query
Response
mapEntries
Introducido en: v26.10.0 Devuelve los pares clave-valor de un mapa como un array de tuplas con nombre, con los camposkey y value.
Se conservan las claves duplicadas.
Sintaxis
map— Mapa del que se extraen las entradas.Map(K, V)
Array(Tuple(key K, value V))
Ejemplos
Ejemplo de uso
Query
Response
mapExists
Introducido en: v23.4.0 Comprueba si se cumple una condición para al menos un par clave-valor de un mapa.mapExists es una función de orden superior.
Puede pasar una función lambda como primer argumento.
Sintaxis
func— Opcional. Función lambda.Función lambdamap— Mapa que se va a comprobar.Map(K, V)
1 si al menos un par clave-valor cumple la condición; 0 en caso contrario. UInt8
Ejemplos
Ejemplo de uso
Query
Response
mapExtractKeyLike
Introducido en: v23.4.0 Dado un mapa con claves de tipo cadena y un patrónLIKE, esta función devuelve un mapa con los elementos cuya clave coincide con el patrón.
Sintaxis
map— Mapa del que extraer.Map(K, V)pattern— Patrón con el que comparar las claves.const String
Map(K, V)
Ejemplos
Ejemplo de uso
Query
Response
mapExtractValueLike
Introducido en: v25.5.0 Dado un mapa con valores de tipo cadena y un patrónLIKE, esta función devuelve un mapa con los elementos cuyo valor coincide con el patrón.
Sintaxis
map— Mapa del que se extrae.Map(K, V)pattern— Patrón con el que comparar los valores.const String
Map(K, V)
Ejemplos
Ejemplo de uso
Query
Response
mapFilter
Introducido en: v22.3.0 Filtra un mapa aplicando una función a cada elemento del mapa. Sintaxisfunc— Función lambda.Función lambdamap— Mapa que se va a filtrar.Map(K, V)
func devuelve un valor distinto de 0. Map(K, V)
Ejemplos
Ejemplo de uso
Query
Response
mapFromArrays
Introducido en: v23.3.0 Crea un mapa a partir de un array o un mapa de claves y de un array o un mapa de valores. La función es una alternativa práctica a la sintaxisCAST([...], 'Map(key_type, value_type)').
Sintaxis
MAP_FROM_ARRAYS
Argumentos
keys— Array o mapa de claves a partir del cual se crea el mapa.ArrayoMapvalues— Array o mapa de valores a partir del cual se crea el mapa.ArrayoMap
Map
Ejemplos
Uso básico
Query
Response
Query
Response
mapKeys
Introducido en: v21.2.0 Devuelve las claves de un mapa. Esta función puede optimizarse al habilitar el SETTINGoptimize_functions_to_subcolumns.
Con este SETTING habilitado, la función solo lee la subcolumna keys en lugar del mapa completo.
La consulta SELECT mapKeys(m) FROM table se transforma en SELECT m.keys FROM table.
Sintaxis
map— Mapa del que extraer las claves.Map(K, V)
Array(T)
Ejemplos
Ejemplo de uso
Query
Response
mapPartialReverseSort
Introducido en: v23.4.0 Ordena los elementos de un mapa en orden descendente con un argumento de límite adicional que permite una ordenación parcial. Si se especifica la función func, el orden de clasificación viene determinado por el resultado de la función func aplicada a las claves y los valores del mapa. Sintaxisfunc— Opcional. Función lambda.Función lambdalimit— Se ordenan los elementos del intervalo[1..limit].(U)Int*map— Mapa que se va a ordenar.Map(K, V)
Map(K, V)
Ejemplos
Ejemplo de uso
Query
Response
mapPartialSort
Introducido en: v23.4.0 Ordena los elementos de un mapa en orden ascendente con un argumento adicional de límite que permite una ordenación parcial. Si se especifica la función func, el orden se determina por el resultado de la función func aplicada a las claves y los valores del mapa. Sintaxisfunc— Opcional. Función lambda.Función lambdalimit— Se ordenan los elementos del rango[1..limit].(U)Int*map— mapa que se ordenará.Map(K, V)
Map(K, V)
Ejemplos
Ejemplo de uso
Query
Response
mapPopulateSeries
Introducido en: v20.10.0 Completa los pares clave-valor que faltan en un mapa con claves enteras. Para poder extender las claves más allá del valor máximo, se puede especificar una clave máxima. Más concretamente, la función devuelve un mapa en el que las claves forman una serie desde la clave más pequeña hasta la más grande (o el argumento max, si se especifica), con un paso de 1 y sus valores correspondientes. Si no se especifica ningún valor para una clave, se usa un valor predeterminado. Si las claves se repiten, solo el primer valor (en orden de aparición) se asocia a la clave. Sintaxismap— mapa con claves de tipo entero.Map((U)Int*, V)keys— Array de claves.Array(T)values— Array de valores.Array(T)max— Opcional. Valor máximo de la clave.Int8oInt16oInt32oInt64oInt128oInt256
Map(K, V) o Tuple(Array(UInt*), Array(Any))
Ejemplos
Con tipo Map
Query
Response
Query
Response
mapRemove
Introducido en: v26.10.0 Elimina de un mapa todas las entradas cuya clave sea igual a la clave especificada. Si varias entradas tienen la misma clave, se eliminan todas las entradas coincidentes. Los valores NULL se comparan como valores: una clave de eliminación NULL no coincide con una clave que no sea NULL, y los componentes NULL de las claves compuestas coinciden con otros componentes NULL. Para tipos de clave con un supertipo común, las claves NaN siguen la semántica de búsqueda en mapas, por lo que una clave de eliminación NaN coincide con una clave NaN del mapa. Sintaxismap— Mapa del que se eliminarán las entradas coincidentes.Map(K, V)key— Clave cuyas entradas coincidentes se eliminarán. El tipo debe ser comparable con el tipo de clave del mapa.Any
Map(K, V)
Ejemplos
Ejemplo de uso
Query
Response
mapReverseSort
Introducido en: v23.4.0 Ordena los elementos de un mapa en orden descendente. Si se especifica la función func, el orden se determina por el resultado de aplicar la función func a las claves y los valores del mapa. Sintaxisfunc— Opcional. Función lambda.Función lambdamap— Mapa que se va a ordenar.Map(K, V)
Map(K, V)
Ejemplos
Ejemplo de uso
Query
Response
mapSort
Introducido en: v23.4.0 Ordena los elementos de un mapa en orden ascendente. Si se especifica la función func, el orden de clasificación se determina a partir del resultado de aplicar la función func a las claves y los valores del mapa. Sintaxisfunc— Opcional. Función lambda.Función lambdamap— Mapa que se va a ordenar.Map(K, V)
Map(K, V)
Ejemplos
Ejemplo de uso
Query
Response
mapSubtract
Introducido en: v20.7.0 Reúne todas las claves y resta los valores correspondientes. Sintaxisarg1[, arg2, ...]— Valores de tipo mapa o tuplas de dos arrays, en los que los elementos del primer array representan claves y el segundo array contiene los valores correspondientes a cada clave.Map(K, V)oTuple(Array(T), Array(T))
Map(K, V) o Tuple(Array(T), Array(T))
Ejemplos
Con el tipo Map
Query
Response
Query
Response
mapUpdate
Introducido en: v22.3.0 Dados dos mapas, devuelve el primero con los valores actualizados a partir de los valores de las claves correspondientes del segundo mapa. Sintaxismap1— El mapa que se actualizará.Map(K, V)map2— El mapa que se utilizará para la actualización.Map(K, V)
map1 con los valores actualizados según los valores de las claves correspondientes en map2. Map(K, V)
Ejemplos
Uso básico
Query
Response
mapValues
Introducida en: v21.2.0 Devuelve los valores de un mapa dado. Esta función se puede optimizar al habilitar la SETTINGoptimize_functions_to_subcolumns.
Con esta SETTING habilitada, la función solo lee la subcolumna values en lugar del mapa completo.
La consulta SELECT mapValues(m) FROM table se transforma en SELECT m.values FROM table.
Sintaxis
map— Mapa del que extraer los valores.Map(K, V)
Array(T)
Ejemplos
Ejemplo de uso
Query
Response