extractKeyValuePairs
Introduzido em: v23.4.0 Extrai pares chave-valor de qualquer string. A string não precisa estar 100% estruturada no formato de par chave-valor; Pode conter ruído (por exemplo, arquivos de log). O formato de par chave-valor a ser interpretado deve ser especificado por meio dos argumentos da função. Um par chave-valor consiste em uma chave seguida de umkey_value_delimiter e um valor. Chaves e valores entre aspas também são suportados. Os pares chave-valor devem ser separados por delimitadores de pares.
Sintaxe
data- String da qual serão extraídos pares chave-valor. String ou FixedString.key_value_delimiter- Caractere a ser usado como delimitador entre a chave e o valor. O padrão é:. String ou FixedString.pair_delimiters- Conjunto de caracteres a ser usado como delimitadores entre pares. O padrão é\space,,e;. String ou FixedString.quoting_character- Caractere a ser usado para delimitar aspas. O padrão é". String ou FixedString.unexpected_quoting_character_strategy- Estratégia para lidar com caracteres de aspas em posições inesperadas durante a faseread_keyeread_value. Valores possíveis:invalid,acceptepromote.invaliddescartará a chave ou o valor e fará a transição de volta para o estadoWAITING_KEY.accepto tratará como um caractere normal.promotefará a transição para o estadoREAD_QUOTED_{KEY/VALUE}e começará a partir do próximo caractere. O valor padrão éPROMOTE
- Os pares chave-valor extraídos em um Map(String, String).
mapFromString, str_to_map
Argumentos
- Nenhum.
extractKeyValuePairsWithEscaping
Introduzido em: v23.4.0 Igual aextractKeyValuePairs, mas com suporte a sequências de escape.
Sequências de escape aceitas: \x, \N, \a, \b, \e, \f, \n, \r, \t, \v e \0.
Sequências de escape fora do padrão são retornadas como estão (incluindo a barra invertida), a menos que sejam uma das seguintes:
\\, ', ", backtick, /, = ou caracteres de controle ASCII (c <= 31).
Esta função atende ao caso de uso em que pre-escaping e post-escaping não são adequados. Por exemplo, considere a seguinte
string de entrada: a: "aaaa\"bbb". A saída esperada é: a: aaaa\"bbbb.
- Pre-escaping: ao aplicar pre-escaping, a saída será:
a: "aaaa"bbb"eextractKeyValuePairsentão produzirá:a: aaaa - Post-escaping:
extractKeyValuePairsproduziráa: aaaa\e o post-escaping o manterá como está.
- Nenhum.
map
Introduzido em: v21.1.0 Cria um valor do tipoMap(key, value) a partir de pares chave-valor.
Sintaxe
Map(Any, Any)
Exemplos
Exemplo de uso
Query
Response
mapAdd
Introduzido em: v20.7.0 Coleta todas as chaves e soma os valores correspondentes. Sintaxearg1[, arg2, ...]— maps ou tuplas de dois arrays, nos quais os itens do primeiro array representam chaves, e o segundo array contém os valores de cada chave.Map(K, V)ouTuple(Array(T), Array(T))
Map(K, V) ou Tuple(Array(T), Array(T))
Exemplos
Com o tipo Map
Query
Response
Query
Response
mapAll
Introduzido em: v23.4.0 Verifica se uma condição é satisfeita para todos os pares chave-valor em um map.mapAll é uma função de ordem superior.
Você pode passar uma função lambda como primeiro argumento.
Sintaxe
func— Função lambda.Função lambdamap— map a ser verificado.Map(K, V)
1 se todos os pares chave-valor satisfizerem a condição, 0 caso contrário. UInt8
Exemplos
Exemplo de uso
Query
Response
mapApply
Introduzido em: v22.3.0 Aplica uma função a cada elemento de um map. Sintaxefunc— Função lambda.Função lambdamap— map ao qual a função será aplicada.Map(K, V)
func a cada elemento. Map(K, V)
Exemplos
Exemplo de uso
Query
Response
mapConcat
Introduzido em: v23.4.0 Concatena vários maps com base na igualdade entre suas chaves. Se houver elementos com a mesma chave em mais de um map de entrada, todos os elementos serão adicionados ao map resultante, mas apenas o primeiro poderá ser acessado pelo operador []. Sintaxemaps— Uma quantidade arbitrária de maps.Map
Map
Exemplos
Exemplo de uso
Query
Response
mapContainsKey
Introduzido em: v21.2.0 Determina se uma chave está contida em um map. SintaxemapContains
Argumentos
map— map em que pesquisar.Map(K, V)key— chave a ser pesquisada. O tipo deve corresponder ao tipo da chave do map.Any
UInt8
Exemplos
Exemplo de uso
Query
Response
mapContainsKeyLike
Introduzido em: v23.4.0 Verifica se o map contém uma chave correspondente ao padrão especificado comLIKE.
Sintaxe
map— map onde pesquisar.Map(K, V)pattern— Padrão para correspondência das chaves.const String
1 se map contiver uma chave que corresponda a pattern; caso contrário, 0. UInt8
Exemplos
Exemplo de uso
Query
Response
mapContainsKeyValue
Introduzido em: v26.9.0 Retorna se o map contém uma entrada com a chave e o valor informados. Para argumentos que não sãoNULL, isso equivale a
arrayExists((k, v) -> k = key AND v = value, mapKeys(map), mapValues(map)).
Um NULL corresponde apenas a outro NULL, assim como em mapContainsKey e mapContainsValue, em vez de
ser tratado como desconhecido na comparação, como acontece com =.
Todas as entradas são consideradas, ao contrário de map[key] = value, que compara apenas o valor da primeira
ocorrência de key.
Um índice de texto com o tokenizador keyValuePairs
permite responder a esta função diretamente a partir do índice.
Sintaxe
map— O map em que a busca será feita.Map(K, V)key— A chave a ser buscada. Seu tipo deve corresponder ao tipo das chaves do map.Anyvalue— O valor a ser buscado. Seu tipo deve corresponder ao tipo dos valores do map.Any
1 se o map contiver uma entrada com a chave e o valor especificados; caso contrário, retorna 0. UInt8
Exemplos
Uso básico
Query
Response
Query
Response
Query
Response
mapContainsValue
Introduzido em: v25.6.0 Determina se um valor está presente em um map. Sintaxemap— map em que a busca será realizada.Map(K, V)value— Valor a ser buscado. O tipo deve corresponder ao tipo de valor do map.Any
1 se o map contiver o valor e 0 caso contrário. UInt8
Exemplos
Exemplo de uso
Query
Response
mapContainsValueLike
Introduzido em: v25.5.0 Verifica se um map contém um valor que corresponde ao padrão especificado viaLIKE.
Sintaxe
map— map em que será feita a busca.Map(K, V)pattern— Padrão usado para corresponder aos valores.const String
1 se map contiver um valor que corresponda a pattern, 0 caso contrário. UInt8
Exemplos
Exemplo de uso
Query
Response
mapEntries
Introduzido em: v26.10.0 Retorna os pares chave-valor de um map como um array de tuplas nomeadas com os camposkey e value.
Chaves duplicadas são mantidas.
Sintaxe
map— Map do qual as entradas serão extraídas.Map(K, V)
Array(Tuple(key K, value V))
Exemplos
Exemplo de uso
Query
Response
mapExists
Introduzido em: v23.4.0 Verifica se uma condição é atendida para pelo menos um par chave-valor em um map.mapExists é uma função de ordem superior.
Você pode passar uma função lambda como primeiro argumento.
Sintaxe
func— Opcional. Função lambda.Função lambdamap— map a ser verificado.Map(K, V)
1 se pelo menos um par chave-valor atender à condição, 0 caso contrário. UInt8
Exemplos
Exemplo de uso
Query
Response
mapExtractKeyLike
Introduzido em: v23.4.0 Dado um map com chaves do tipo string e um padrãoLIKE, esta função retorna um map com os elementos cuja chave corresponde ao padrão.
Sintaxe
map— map do qual extrair.Map(K, V)pattern— padrão com o qual comparar as chaves.const String
Map(K, V)
Exemplos
Exemplo de uso
Query
Response
mapExtractValueLike
Introduzido na versão: v25.5.0 Dado um map com valores do tipo string e um padrãoLIKE, esta função retorna um map com os elementos cujo valor corresponde ao padrão.
Sintaxe
map— Map do qual extrair.Map(K, V)pattern— Padrão com o qual os valores são comparados.const String
Map(K, V)
Exemplos
Exemplo de uso
Query
Response
mapFilter
Introduzido em: v22.3.0 Filtra um map aplicando uma função a cada um de seus elementos. Sintaxefunc— Função lambda.Função lambdamap— map a ser filtrado.Map(K, V)
func retorna um valor diferente de 0. Map(K, V)
Exemplos
Exemplo de uso
Query
Response
mapFromArrays
Introduzido em: v23.3.0 Cria um map a partir de um array ou map de chaves e de um array ou map de valores. A função é uma alternativa conveniente à sintaxeCAST([...], 'Map(key_type, value_type)').
Sintaxe
MAP_FROM_ARRAYS
Argumentos
keys— Array ou map de chaves a partir do qual criar o map.ArrayouMapvalues— Array ou map de valores a partir do qual criar o map.ArrayouMap
Map
Exemplos
Uso básico
Query
Response
Query
Response
mapKeys
Introduzido em: v21.2.0 Retorna as chaves de um determinado map. Esta função pode ser otimizada ativando a configuraçãooptimize_functions_to_subcolumns.
Com a configuração ativada, a função lê apenas a subcoluna keys, em vez do map inteiro.
A consulta SELECT mapKeys(m) FROM table é transformada em SELECT m.keys FROM table.
Sintaxe
map— map do qual as chaves serão extraídas.Map(K, V)
Array(T)
Exemplos
Exemplo de uso
Query
Response
mapPartialReverseSort
Introduzido em: v23.4.0 Ordena os elementos de ummap em ordem decrescente, com um argumento de limite adicional que permite ordenação parcial.
Se a função func for especificada, a ordem de ordenação será determinada pelo resultado da função func aplicada às chaves e aos valores do map.
Sintaxe
func— Opcional. Função lambda.Função lambdalimit— Os elementos no intervalo[1..limit]são ordenados.(U)Int*map— map a ser ordenado.Map(K, V)
Map(K, V)
Exemplos
Exemplo de uso
Query
Response
mapPartialSort
Introduzido em: v23.4.0 Ordena os elementos de um map em ordem crescente, com um argumento adicional de limite que permite ordenação parcial. Se a função func for especificada, a ordem de classificação será determinada pelo resultado da função func aplicada às chaves e aos valores do map. Sintaxefunc— Opcional. Função lambda.Função lambdalimit— Os elementos no intervalo[1..limit]são ordenados.(U)Int*map— map a ser ordenado.Map(K, V)
Map(K, V)
Exemplos
Exemplo de uso
Query
Response
mapPopulateSeries
Introduzido em: v20.10.0 Preenche pares chave-valor ausentes em um map com chaves inteiras. Para permitir estender as chaves além do maior valor, é possível especificar uma chave máxima. Mais especificamente, a função retorna um map em que as chaves formam uma série da menor até a maior chave (ou o argumento max, se especificado), com passo 1, e seus valores correspondentes. Se nenhum valor for especificado para uma chave, um valor padrão será usado. Caso haja chaves repetidas, somente o primeiro valor (na ordem de aparição) será associado à chave. Sintaxemap— Map com chaves inteiras.Map((U)Int*, V)keys— Array de chaves.Array(T)values— Array de valores.Array(T)max— Opcional. Valor máximo da chave.Int8ouInt16ouInt32ouInt64ouInt128ouInt256
Map(K, V) ou Tuple(Array(UInt*), Array(Any))
Exemplos
Com o tipo Map
Query
Response
Query
Response
mapRemove
Introduzido em: v26.10.0 Remove de um map todas as entradas cuja chave seja igual à chave especificada. Se houver várias entradas com a mesma chave, todas as entradas correspondentes serão removidas. Valores NULL são comparados como valores: uma chave de remoção NULL não corresponde a uma chave não NULL, e componentes NULL em chaves compostas correspondem a outros componentes NULL. Para tipos de chave com um supertipo comum, chaves NaN seguem a semântica de consulta em map; assim, uma chave de remoção NaN corresponde a uma chave NaN do map. Sintaxemap— Map do qual as entradas correspondentes serão removidas.Map(K, V)key— Chave cujas entradas correspondentes serão removidas. O tipo deve ser comparável ao tipo da chave do map.Any
Map(K, V)
Exemplos
Exemplo de uso
Query
Response
mapReverseSort
Introduzido em: v23.4.0 Ordena os elementos de um map em ordem decrescente. Se a função func for especificada, a ordem de classificação será determinada pelo resultado da aplicação da função func às chaves e aos valores do map. Sintaxefunc— Opcional. Função lambda.Função lambdamap— map a ser ordenado.Map(K, V)
Map(K, V)
Exemplos
Exemplo de uso
Query
Response
mapSort
Introduzido em: v23.4.0 Ordena os elementos de um map em ordem crescente. Se a função func for especificada, a ordem de classificação será determinada pelo resultado da função func aplicada às chaves e aos valores do map. Sintaxefunc— Opcional. Função lambda.Função lambdamap— map a ser ordenado.Map(K, V)
Map(K, V)
Exemplos
Exemplo de uso
Query
Response
mapSubtract
Introduzido em: v20.7.0 Coleta todas as chaves e subtrai os valores correspondentes. Sintaxearg1[, arg2, ...]— maps ou tuplas de dois arrays, em que os itens do primeiro array representam as chaves, e o segundo array contém os valores de cada chave.Map(K, V)ouTuple(Array(T), Array(T))
Map(K, V) ou Tuple(Array(T), Array(T))
Exemplos
Com o tipo Map
Query
Response
Query
Response
mapUpdate
Introduzido em: v22.3.0 Para dois maps, retorna o primeiro map com os valores atualizados com base nos valores das chaves correspondentes no segundo map. Sintaxemap1 com os valores atualizados com base nos valores das chaves correspondentes em map2. Map(K, V)
Exemplos
Uso básico
Query
Response
mapValues
Introduzida em: v21.2.0 Retorna os valores de um determinado map. Esta função pode ser otimizada ao ativar a configuraçãooptimize_functions_to_subcolumns.
Com a configuração ativada, a função lê apenas a subcoluna values, em vez do map inteiro.
A consulta SELECT mapValues(m) FROM table é transformada em SELECT m.values FROM table.
Sintaxe
map— Map de onde extrair os valores.Map(K, V)
map. Array(T)
Exemplos
Exemplo de uso
Query
Response