O hash de NULL é NULL. Para obter um hash não NULL de uma coluna Nullable, envolva-a em uma tupla:
Para calcular o hash de todo o conteúdo de uma tabela, use
sum(cityHash64(tuple(*))) (ou outra função de hash). tuple garante que linhas com valores NULL não sejam ignoradas. sum garante que a ordem das linhas não importe.BLAKE3
Introduzido na versão: v22.10.0 Calcula a string de hash BLAKE3 e retorna o conjunto de bytes resultante como FixedString. Essa função hash criptográfica é integrada ao ClickHouse com a biblioteca BLAKE3 em Rust. A função é bastante rápida e apresenta desempenho aproximadamente duas vezes superior ao SHA-2, gerando hashes com o mesmo comprimento do SHA-256. Ela retorna um hash BLAKE3 como um array de bytes do tipo FixedString(32). Sintaxemessage— A string de entrada para calcular o hash.String
FixedString(32)
Exemplos
hash
Query
Response
MD4
Introduzido em: v21.11.0 Calcula o hash MD4 da string fornecida. Sintaxes— A string de entrada para calcular o hash.String
FixedString(16)
Exemplos
Exemplo de uso
Query
Response
MD5
Introduzido em: v1.1.0 Calcula o hash MD5 da string especificada. Sintaxes— A string de entrada para calcular o hash.String
FixedString(16)
Exemplos
Exemplo de uso
Query
Response
RIPEMD160
Introduzido em: v24.10.0 Calcula o hash RIPEMD-160 da string fornecida. Sintaxes— A string de entrada para calcular o hash.String
FixedString(20)
Exemplos
Exemplo de uso
Query
Response
SHA1
Introduzido em: v1.1.0 Calcula o hash SHA1 da string informada. Sintaxes— A string de entrada para calcular o hashString
FixedString(20)
Exemplos
Exemplo de uso
Query
Response
SHA224
Introduzido em: v1.1.0 Calcula o hash SHA224 da string informada. Sintaxes— O valor de entrada para o cálculo do hash.String
FixedString(28)
Exemplos
Exemplo de uso
Query
Response
SHA256
Introduzido em: v1.1.0 Calcula o hash SHA256 da cadeia de caracteres fornecida. Sintaxes— A string de entrada para calcular o hash.String
FixedString(32)
Exemplos
Exemplo de uso
Query
Response
SHA384
Introduzido em: v1.1.0 Calcula o hash SHA384 da string fornecida. Sintaxes— A string de entrada para calcular o hash.String
FixedString(48)
Exemplos
Exemplo de uso
Query
Response
SHA512
Introduzido em: v1.1.0 Calcula o hash SHA512 da string especificada. Sintaxes— String de entrada para calcular o hashString
FixedString(64)
Exemplos
Exemplo de uso
Query
Response
SHA512_256
Introduzido em: v1.1.0 Calcula o hash SHA512_256 da string especificada. Sintaxes— A string de entrada para calcular o hash.String
FixedString(32)
Exemplos
Exemplo de uso
Query
Response
URLHash
Introduzido em: v1.1.0 Uma função de hash não criptográfica rápida e de qualidade razoável para uma string obtida de uma URL usando algum tipo de normalização. Esta função de hash tem dois modos:
Sintaxe
url. UInt64
Exemplos
Exemplo de uso
Query
Response
Query
Response
cityHash64
Introduzido em: v1.1.0 Produz um valor de hash CityHash de 64 bits. Esta é uma função de hash rápida e não criptográfica. Ela usa o algoritmo CityHash para parâmetros do tipo string e uma função de hash rápida e não criptográfica específica da implementação para parâmetros com outros tipos de dados. A função usa o combinador CityHash para obter os resultados finais.O Google alterou o algoritmo do CityHash depois que ele foi adicionado ao ClickHouse.
Em outras palavras, o cityHash64 do ClickHouse e o CityHash upstream do Google agora produzem resultados diferentes.
O cityHash64 do ClickHouse corresponde ao CityHash v1.0.2.
Os valores de hash calculados podem ser iguais para os mesmos valores de entrada de diferentes tipos de argumento.
Isso afeta, por exemplo, tipos inteiros de tamanhos diferentes,
Tuple nomeado e não nomeado com os mesmos dados, Map e o tipo Array(Tuple(key, value)) correspondente com os mesmos dados.arg1[, arg2, ...]— Um número variável de argumentos de entrada para os quais o hash será calculado.Any
UInt64
Exemplos
Exemplo de chamada
Query
Response
Query
Response
farmFingerprint64
Introduzido em: v20.12.0 Produz um valor FarmHash de 64 bits usando o métodoFingerprint64.
Os valores de hash calculados podem ser iguais para os mesmos valores de entrada com diferentes tipos de argumento.
Isso afeta, por exemplo, tipos inteiros de tamanhos diferentes,
Tuple nomeada e não nomeada com os mesmos dados, Map e o tipo correspondente Array(Tuple(key, value)) com os mesmos dados.arg1[, arg2, ...]— Uma quantidade variável de argumentos de entrada para calcular o hash.Any
UInt64
Exemplos
Exemplo de uso
Query
Response
farmHash64
Introduzido em: v1.1.0 Produz um FarmHash de 64 bits usando o métodoHash64.
Os valores de hash calculados podem ser iguais para os mesmos valores de entrada de tipos de argumento diferentes.
Isso afeta, por exemplo, tipos inteiros de tamanhos diferentes,
Tuple nomeadas e não nomeadas com os mesmos dados, Map e o tipo Array(Tuple(key, value)) correspondente com os mesmos dados.arg1[, arg2, ...]— Um número variável de argumentos de entrada para os quais o hash será calculado.Any
UInt64
Exemplos
Exemplo de uso
Query
Response
gccMurmurHash
Introduzido em: v20.1.0 Calcula o hash MurmurHash2 de 64 bits do valor de entrada usando a mesma seed usada pelo GCC. É portátil entre compilações do Clang e do GCC. Sintaxearg1[, arg2, ...]— Um número variável de argumentos para os quais o hash deve ser calculado.Any
UInt64
Exemplos
Exemplo de uso
Query
Response
halfMD5
Introduzido em: v1.1.0 Interpreta todos os parâmetros de entrada como strings e calcula o valor de hash MD5 de cada um deles. Em seguida, combina os hashes, extrai os primeiros 8 bytes do hash da string resultante e os interpreta como UInt64 em ordem de bytes big-endian. A função é relativamente lenta (5 milhões de strings curtas por segundo por núcleo de processador). Considere usar a funçãosipHash64 no lugar dela.
A função aceita um número variável de parâmetros de entrada.
Os argumentos podem ser de qualquer um dos tipos de dados compatíveis.
Para alguns tipos de dados, o valor calculado da função de hash pode ser o mesmo para valores iguais, mesmo que os tipos dos argumentos sejam diferentes (inteiros de tamanhos diferentes, Tuple nomeado e não nomeado com os mesmos dados, Map e o tipo Array(Tuple(key, value)) correspondente com os mesmos dados).
Sintaxe
arg1[, arg2, ..., argN]— Número variável de argumentos para os quais o hash deve ser calculado.Any
UInt64 em ordem de bytes big-endian. UInt64
Exemplos
Exemplo de uso
Query
Response
hiveHash
Introduzido em: v20.1.0 Calcula um “HiveHash” de uma string. Isso é apenasJavaHash com os bits de sinal zerados.
Essa função é usada no Apache Hive em versões anteriores à 3.0.
Sintaxe
arg— String de entrada para calcular o hash.String
Int32
Exemplos
Exemplo de uso
Query
Response
icebergHash
Introduzido em: v25.5.0 Implementa a lógica da transformação hash do Iceberg Sintaxevalue— Valor de entrada para o qual será calculado o hash:IntegerouBoolouDecimalouFloat*ouStringouFixedStringouUUIDouDateouTimeouDateTime
Int32
Exemplos
Exemplo
Query
Response
intHash32
Introduzido em: v1.1.0 Calcula o hash de 32 bits de um inteiro. A função hash é relativamente rápida, mas não é uma função hash criptográfica. Sintaxearg— Inteiro para gerar hash.(U)Int*
UInt32
Exemplos
Exemplo de uso
Query
Response
intHash64
Introduzido em: v1.1.0 Calcula o hash de 64 bits de um inteiro. A função hash é relativamente rápida (ainda mais rápida queintHash32), mas não é uma função hash criptográfica.
Sintaxe
int— Inteiro cujo hash será calculado.(U)Int*
UInt64
Exemplos
Exemplo de uso
Query
Response
javaHash
Introduzido em: v20.1.0 Calcula JavaHash a partir de:O Java só oferece suporte ao cálculo de hash de inteiros com sinal,
portanto, se você quiser calcular o hash de inteiros sem sinal, deverá fazer cast deles para os tipos com sinal apropriados do ClickHouse.
arg— Valor de entrada para o hash.Any
arg Int32
Exemplos
Exemplo de uso 1
Query
Response
Query
Response
javaHashUTF16LE
Introduzido na versão: v20.1.0 Calcula JavaHash de uma string, assumindo que ela contenha bytes que representem uma string codificada em UTF-16LE. Sintaxearg— Uma string com codificação UTF-16LE.String
Int32
Exemplos
Exemplo de uso
Query
Response
jumpConsistentHash
Introduzido em: v1.1.0 Calcula o hash consistente de um inteiro. SintaxeInt32
Exemplos
Exemplo de uso
Query
Response
kafkaMurmurHash
Introduzido em: v23.4.0 Calcula o hash MurmurHash2 de 32 bits do valor de entrada usando a mesma seed do Kafka e sem o bit mais significativo, para ser compatível com o Default Partitioner. Sintaxearg1[, arg2, ...]— Um número variável de parâmetros cujo hash será calculado.Any
UInt32
Exemplos
Exemplo de uso
Query
Response
keccak256
Introduzido em: v25.4.0 Calcula o hash criptográfico Keccak-256 da string fornecida. Essa função de hash é amplamente usada em aplicações de blockchain, especialmente no Ethereum. Sintaxemessage— A string de entrada para calcular o hash.String
FixedString(32)
Exemplos
Exemplo de uso
Query
Response
kostikConsistentHash
Introduzido em: v22.6.0 Um algoritmo de hash consistente com complexidade de tempo e espaço O(1), de Konstantin ‘Kostik’ Oblakov. Eficiente apenas paran <= 32768.
Sintaxe
yandexConsistentHash
Argumentos
Valor retornado
Retorna o valor de hash calculado. UInt16
Exemplos
Exemplo de uso
Query
Response
metroHash64
Introduzido em: v1.1.0 Produz um valor de hash MetroHash de 64 bits.Os valores de hash calculados podem ser iguais para os mesmos valores de entrada, mesmo quando os tipos de argumento são diferentes.
Isso afeta, por exemplo, tipos inteiros de tamanhos diferentes, uma
Tuple nomeada e outra não nomeada com os mesmos dados, Map e o tipo correspondente Array(Tuple(key, value)) com os mesmos dados.arg1[, arg2, ...]— Um número variável de argumentos de entrada usados para calcular o hash.Any
UInt64
Exemplos
Exemplo de uso
Query
Response
murmurHash2_32
Introduzido em: v18.5.0 Calcula o hash MurmurHash2 do valor de entrada.Os valores de hash calculados podem ser iguais para os mesmos valores de entrada de tipos de argumento diferentes.
Isso afeta, por exemplo, tipos inteiros de tamanhos diferentes,
Tuple nomeada e não nomeada com os mesmos dados, Map e o tipo Array(Tuple(key, value)) correspondente com os mesmos dados.arg1[, arg2, ...]— Um número variável de argumentos de entrada cujo hash será calculado.Any
UInt32
Exemplos
Exemplo de uso
Query
Response
murmurHash2_64
Introduzido em: v18.10.0 Calcula o hash MurmurHash2 do valor de entrada.Os valores de hash calculados podem ser iguais para os mesmos valores de entrada com tipos de argumento diferentes.
Isso afeta, por exemplo, tipos inteiros de tamanhos diferentes,
Tuple nomeadas e não nomeadas com os mesmos dados, Map e o tipo correspondente Array(Tuple(key, value)) com os mesmos dados.arg1[, arg2, ...]— Um número variável de argumentos de entrada cujo hash será calculado.Any
UInt64
Exemplos
Exemplo de uso
Query
Response
murmurHash3_128
Introduzido em: v18.10.0 Calcula o hash de 128 bits MurmurHash3 do valor de entrada. Sintaxearg1[, arg2, ...]— Um número variável de argumentos de entrada para os quais o hash deve ser calculado.Any
MurmurHash3 de 128 bits calculado a partir dos argumentos de entrada. FixedString(16)
Exemplos
Exemplo de uso
Query
Response
murmurHash3_32
Introduzido em: v18.10.0 Produz um valor de hash MurmurHash3.Os valores de hash calculados podem ser iguais para os mesmos valores de entrada de tipos de argumento diferentes.
Isso afeta, por exemplo, tipos inteiros de tamanhos diferentes,
Tuple nomeada e não nomeada com os mesmos dados, Map e o tipo correspondente Array(Tuple(key, value)) com os mesmos dados.arg1[, arg2, ...]— Um número variável de argumentos de entrada para os quais o hash deve ser calculado.Any
UInt32
Exemplos
Exemplo de uso
Query
Response
murmurHash3_64
Introduzido em: v18.10.0 Calcula o hash MurmurHash3 do valor de entrada.Os valores de hash calculados podem ser iguais para os mesmos valores de entrada com tipos de argumento diferentes.
Isso afeta, por exemplo, tipos inteiros de tamanhos diferentes, tipos
Tuple nomeados e não nomeados com os mesmos dados, Map e o tipo correspondente Array(Tuple(key, value)) com os mesmos dados.arg1[, arg2, ...]— Um número variável de argumentos de entrada para os quais o hash será calculado.Any
UInt64
Exemplos
Exemplo de uso
Query
Response
ngramMinHash
Introduzido em: v21.1.0 Divide uma string ASCII em n-grams dengramsize símbolos, calcula os valores de hash de cada n-gram e retorna uma Tuple com esses hashes.
Usa hashnum hashes mínimos para calcular o hash mínimo e hashnum hashes máximos para calcular o hash máximo.
Diferencia maiúsculas de minúsculas.
Pode ser usado para detectar strings semiduplicadas com tupleHammingDistance.
Para duas strings, se os hashes retornados forem iguais para ambas, então essas strings são iguais.
Sintaxe
string—Stringcujo hash será calculado.Stringngramsize— Opcional. O tamanho de um n-grama, qualquer valor de1a25. O valor padrão é3.UInt8hashnum— Opcional. A quantidade de hashes mínimos e máximos usada para calcular o resultado, qualquer valor de1a25. O valor padrão é6.UInt8
Tuple
Exemplos
Exemplo de uso
Query
Response
ngramMinHashArg
Introduzido em: v21.1.0 Divide uma string ASCII em n-grama dengramsize símbolos e retorna os n-grama com o menor e o maior hash, calculados pela função ngramMinHash com a mesma entrada.
Diferencia maiúsculas de minúsculas.
Sintaxe
string— String para a qual será calculado o hash.Stringngramsize— Opcional. O tamanho de um n-gram, qualquer número de1a25. O valor padrão é3.UInt8hashnum— Opcional. O número de hashes mínimos e máximos usados para calcular o resultado, qualquer número de1a25. O valor padrão é6.UInt8
hashnum n-grama. Tuple(String)
Exemplos
Exemplo de uso
Query
Response
ngramMinHashArgCaseInsensitive
Introduzido em: v21.1.0 Divide uma string ASCII em n-grams dengramsize símbolos e retorna os n-grams com os hashes mínimo e máximo, calculados com a função ngramMinHashCaseInsensitive usando a mesma entrada.
Não diferencia maiúsculas de minúsculas.
Sintaxe
string— String para a qual o hash será calculado.Stringngramsize— Opcional. O tamanho de um n-grama, qualquer número de1a25. O valor padrão é3.UInt8hashnum— Opcional. O número de hashes mínimos e máximos usados para calcular o resultado, qualquer número de1a25. O valor padrão é6.UInt8
hashnum n-gramas. Tuple(Tuple(String))
Exemplos
Exemplo de uso
Query
Response
ngramMinHashArgCaseInsensitiveUTF8
Introduzido em: v21.1.0 Divide uma string UTF-8 em n-grams dengramsize símbolos e retorna os n-grams com os hashes mínimo e máximo, calculados pela função ngramMinHashCaseInsensitiveUTF8 para a mesma entrada.
Não diferencia maiúsculas de minúsculas.
Sintaxe
string— String cujo hash será calculado.Stringngramsize— Opcional. O tamanho de um n-grama, qualquer valor de1a25. O valor padrão é3.UInt8hashnum— Opcional. O número de hashes mínimos e máximos usados para calcular o resultado, qualquer valor de1a25. O valor padrão é6.UInt8
hashnum n-gramas. Tuple(Tuple(String))
Exemplos
Exemplo de uso
Query
Response
ngramMinHashArgUTF8
Introduzido em: v21.1.0 Divide uma string UTF-8 em n-grams dengramsize símbolos e retorna os n-grams com os hashes mínimo e máximo, calculados pela função ngramMinHashUTF8 com a mesma entrada.
Diferencia maiúsculas de minúsculas.
Sintaxe
string— String para a qual o hash é calculado.Stringngramsize— Opcional. O tamanho de um n-grama, qualquer número de1a25. O valor padrão é3.UInt8hashnum— Opcional. O número de hashes mínimos e máximos usados para calcular o resultado, qualquer número de1a25. O valor padrão é6.UInt8
hashnum n-gramas. Tuple(Tuple(String))
Exemplos
Exemplo de uso
Query
Response
ngramMinHashCaseInsensitive
Introduzido em: v21.1.0 Divide uma string ASCII em n-grams dengramsize símbolos, calcula os valores de hash de cada n-gram e retorna uma tupla com esses hashes.
Usa hashnum hashes mínimos para calcular o hash mínimo e hashnum hashes máximos para calcular o hash máximo.
Não diferencia maiúsculas de minúsculas.
Pode ser usada para detectar strings semiduplicado com tupleHammingDistance.
Para duas strings, se os hashes retornados forem os mesmos para ambas, então essas strings são iguais.
Sintaxe
string— String. String. -ngramsize— O tamanho de um n-grama. Opcional. Valores possíveis: qualquer número de1a25. Valor padrão:3. UInt8. -hashnum— O número de hashes mínimos e máximos usado para calcular o resultado. Opcional. Valores possíveis: qualquer número de1a25. Valor padrão:6. UInt8.
Tuple
Exemplos
Exemplo de uso
Query
Response
ngramMinHashCaseInsensitiveUTF8
Introduzido em: v21.1.0 Divide uma string UTF-8 em n-grams dengramsize símbolos, calcula os valores de hash de cada n-gram e retorna uma tupla com esses hashes.
Usa hashnum hashes mínimos para calcular o hash mínimo e hashnum hashes máximos para calcular o hash máximo.
Não diferencia maiúsculas de minúsculas.
Pode ser usado para detectar strings semiduplicadas com tupleHammingDistance.
Para duas strings, se os hashes retornados forem iguais em ambas, então essas strings são iguais.
Sintaxe
string— String para a qual o hash deve ser calculado.Stringngramsize— Opcional. O tamanho de um n-grama, qualquer número de1a25. O valor padrão é3.UInt8hashnum— Opcional. A quantidade de hashes mínimos e máximos usada para calcular o resultado, qualquer número de1a25. O valor padrão é6.UInt8
Tuple
Exemplos
Exemplo de uso
Query
Response
ngramMinHashUTF8
Introduzido em: v21.1.0 Divide uma string UTF-8 em n-grams dengramsize símbolos, calcula os valores de hash de cada n-gram e retorna uma tupla com esses hashes.
Usa hashnum hashes mínimos para calcular o hash mínimo e hashnum hashes máximos para calcular o hash máximo.
É sensível a maiúsculas e minúsculas.
Pode ser usado para detectar strings semiduplicado com tupleHammingDistance.
Para duas strings, se os hashes retornados forem iguais para ambas, então essas strings são iguais.
Sintaxe
string— String para a qual o hash será calculado.Stringngramsize— Opcional. O tamanho de um n-grama, qualquer número de1a25. O valor padrão é3.UInt8hashnum— Opcional. A quantidade de hashes mínimos e máximos usada para calcular o resultado, qualquer número de1a25. O valor padrão é6.UInt8
Tuple
Exemplos
Exemplo de uso
Query
Response
ngramSimHash
Introduzido em: v21.1.0 Divide uma string ASCII em n-grams dengramsize símbolos e retorna o simhash dos n-grams.
Pode ser usado para detectar strings semiduplicadas com bitHammingDistance.
Quanto menor a distância de Hamming entre os simhashes calculados de duas strings, maior a probabilidade de que essas strings sejam iguais.
Sintaxe
string— String para a qual será calculado osimhashcom diferenciação entre maiúsculas e minúsculas.Stringngramsize— Opcional. O tamanho de um n-grama, qualquer número de1a25. O valor padrão é3.UInt8
UInt64
Exemplos
Exemplo de uso
Query
Response
ngramSimHashCaseInsensitive
Introduzido em: v21.1.0 Divide uma string ASCII em n-grams dengramsize símbolos e retorna o simhash do n-gram.
Não diferencia maiúsculas de minúsculas.
Pode ser usado para detectar strings semiduplicadas com bitHammingDistance.
Quanto menor a distância de Hamming entre os simhashes calculados de duas strings, maior a probabilidade de que essas strings sejam iguais.
Sintaxe
string— String para a qual calcular osimhashsem distinção entre maiúsculas e minúsculas.Stringngramsize— Opcional. O tamanho de um n-grama, qualquer valor de1a25. O valor padrão é3.UInt8
UInt64
Exemplos
Exemplo de uso
Query
Response
ngramSimHashCaseInsensitiveUTF8
Introduzido em: v21.1.0 Divide uma string UTF-8 em n-grams dengramsize símbolos e retorna o simhash do n-gram.
Não diferencia maiúsculas de minúsculas.
Pode ser usado para detectar strings semiduplicadas com bitHammingDistance. Quanto menor a distância de Hamming entre os simhashes calculados de duas strings, maior a probabilidade de que essas strings sejam iguais.
Sintaxe
string— String para a qual o hash é calculado.Stringngramsize— Opcional. O tamanho de um n-grama, qualquer número de1a25. O valor padrão é3.UInt8
UInt64
Exemplos
Exemplo de uso
Query
Response
ngramSimHashUTF8
Introduzido em: v21.1.0 Divide uma string codificada em UTF-8 em n-grams dengramsize símbolos e retorna o simhash do n-gram.
Diferencia maiúsculas de minúsculas.
Pode ser usado para detectar strings semiduplicadas com bitHammingDistance.
Quanto menor a distância de Hamming entre os simhashes calculados de duas strings, maior a probabilidade de essas strings serem iguais.
Sintaxe
string— String para a qual o hash será calculado.Stringngramsize— Opcional. O tamanho de um n-grama, qualquer número de1a25. O valor padrão é3.UInt8
UInt64
Exemplos
Exemplo de uso
Query
Response
sipHash128
Introduzido em: v1.1.0 ComosipHash64, mas produz um valor de hash de 128 bits, ou seja, o estado final de xor-folding é calculado em 128 bits.
Sintaxe
arg1[, arg2, ...]— Um número variável de argumentos de entrada para os quais o hash deve ser calculado.Any
SipHash de 128 bits. FixedString(16)
Exemplos
Exemplo de uso
Query
Response
sipHash128Keyed
Introduzido em: v23.2.0 Igual asipHash128, mas recebe também um argumento de chave explícito em vez de usar uma chave fixa.
Sintaxe
(k0, k1)— Uma tupla de dois valores UInt64 que representam a chave.Tuple(UInt64, UInt64)arg1[, arg2, ...]— Um número variável de argumentos de entrada para os quais o hash deve ser calculado.Any
SipHash de 128 bits do tipo FixedString(16). FixedString(16)
Exemplos
Exemplo de uso
Query
Response
sipHash128Reference
Introduzido em: v23.2.0 Semelhante asipHash128, mas implementa o algoritmo de 128 bits original dos autores do SipHash.
Sintaxe
arg1[, arg2, ...]— Um número variável de argumentos de entrada para os quais o hash deve ser calculado.Any
SipHash de 128 bits calculado a partir dos argumentos de entrada. FixedString(16)
Exemplos
Exemplo de uso
Query
Response
sipHash128ReferenceKeyed
Introduzido na versão: v23.2.0 Igual asipHash128Reference, mas também recebe um argumento de chave explícito em vez de usar uma chave fixa.
Sintaxe
(k0, k1)— tupla de dois valores que representam a chaveTuple(UInt64, UInt64)arg1[, arg2, ...]— Um número variável de argumentos de entrada para os quais o hash deve ser calculado.Any
SipHash de 128 bits calculado a partir dos argumentos de entrada. FixedString(16)
Exemplos
Exemplo de uso
Query
Response
sipHash64
Introduzido em: v1.1.0 Produz um valor de hash SipHash de 64 bits. Esta é uma função de hash criptográfica. Ela funciona pelo menos três vezes mais rápido do que a função de hashMD5.
A função interpreta todos os parâmetros de entrada como strings e calcula o valor de hash de cada um deles.
Em seguida, combina os hashes usando o seguinte algoritmo:
- O primeiro e o segundo valor de hash são concatenados em um array, que é submetido a hash.
- O valor de hash calculado anteriormente e o hash do terceiro parâmetro de entrada são submetidos a hash de maneira semelhante.
- Esse cálculo é repetido para todos os valores de hash restantes da entrada original.
os valores de hash calculados podem ser iguais para os mesmos valores de entrada de diferentes tipos de argumento.
Isso afeta, por exemplo, tipos inteiros de tamanhos diferentes,
Tuple nomeado e não nomeado com os mesmos dados, Map e o tipo Array(Tuple(key, value)) correspondente com os mesmos dados.arg1[, arg2, ...]— Um número variável de argumentos de entrada.Any
UInt64
Exemplos
Exemplo de uso
Query
Response
sipHash64Keyed
Introduzido em: v23.2.0 ComosipHash64, mas recebe adicionalmente um argumento de chave explícito em vez de usar uma chave fixa.
Sintaxe
(k0, k1)— Uma tupla de dois valores que representam a chave.Tuple(UInt64, UInt64)arg1[,arg2, ...]— Um número variável de argumentos de entrada.Any
UInt64
Exemplos
Exemplo de uso
Query
Response
wordShingleMinHash
Introduzido em: v21.1.0 Divide uma string ASCII em partes (shingles) deshinglesize palavras, calcula os valores de hash para cada shingle de palavras e retorna uma tupla com esses hashes.
Usa hashnum hashes mínimos para calcular o hash mínimo e hashnum hashes máximos para calcular o hash máximo.
Diferencia maiúsculas de minúsculas.
Pode ser usado para detectar strings semiduplicadas com tupleHammingDistance.
Para duas strings, se os hashes retornados forem os mesmos para ambas, então essas strings são iguais.
Sintaxe
string— String para a qual o hash será calculado.Stringshinglesize— Opcional. O tamanho de um shingle de palavras, qualquer número de1a25. O valor padrão é3.UInt8hashnum— Opcional. O número de hashes mínimos e máximos usados para calcular o resultado, qualquer número de1a25. O valor padrão é6.UInt8
Tuple(UInt64, UInt64)
Exemplos
Exemplo de uso
Query
Response
wordShingleMinHashArg
Introduzido na versão: v1.1.0 Divide uma string ASCII em partes (shingles) deshinglesize palavras cada e retorna os shingles com o hash mínimo e o hash máximo das palavras, calculados pela função wordShingleMinHash com a mesma entrada.
Diferencia maiúsculas de minúsculas.
Sintaxe
string— String para a qual o hash será calculado.Stringshinglesize— Opcional. O tamanho de um shingle de palavras, qualquer número de1a25. O valor padrão é3.UInt8hashnum— Opcional. O número de hashes mínimos e máximos usados para calcular o resultado, qualquer número de1a25. O valor padrão é6.UInt8
hashnum shingles de palavras. Tuple(Tuple(String))
Exemplos
Exemplo de uso
Query
Response
wordShingleMinHashArgCaseInsensitive
Introduzido em: v21.1.0 Divide uma string ASCII em partes (shingles) deshinglesize palavras cada e retorna os shingles com os hashes mínimo e máximo das palavras, calculados pela função wordShingleMinHashCaseInsensitive para a mesma entrada.
Não diferencia letras maiúsculas de minúsculas.
Sintaxe
string— String para a qual o hash será calculado.Stringshinglesize— Opcional. O tamanho de um shingle de palavras, qualquer número de1a25. O valor padrão é3.UInt8hashnum— Opcional. O número de hashes mínimos e máximos usados para calcular o resultado, qualquer número de1a25. O valor padrão é6.UInt8
hashnum shingles de palavras. Tuple(Tuple(String))
Exemplos
Exemplo de uso
Query
Response
wordShingleMinHashArgCaseInsensitiveUTF8
Introduzido em: v21.1.0 Divide uma string UTF-8 em partes (shingles) deshinglesize palavras cada e retorna os shingles com o hash mínimo e o hash máximo das palavras, calculados pela função wordShingleMinHashCaseInsensitiveUTF8 com a mesma entrada.
Não diferencia maiúsculas de minúsculas.
Sintaxe
string— String para a qual o hash será calculado.Stringshinglesize— Opcional. O tamanho de um shingle de palavras, qualquer número de1a25. O valor padrão é3.UInt8hashnum— Opcional. O número de hashes mínimos e máximos usados para calcular o resultado, qualquer número de1a25. O valor padrão é6.UInt8
hashnum shingles de palavras. Tuple(Tuple(String))
Exemplos
Exemplo de uso
Query
Response
wordShingleMinHashArgUTF8
Introduzido em: v21.1.0 Divide uma string UTF-8 em partes (shingles) deshinglesize palavras cada e retorna os shingles com o hash mínimo e o máximo das palavras, calculados pela função wordShingleMinHashUTF8 com a mesma entrada.
Diferencia maiúsculas de minúsculas.
Sintaxe
string— String para a qual o hash será calculado.Stringshinglesize— Opcional. O tamanho de um shingle de palavras, qualquer número de1a25. O valor padrão é3.UInt8hashnum— Opcional. O número de hashes mínimos e máximos usados para calcular o resultado, qualquer número de1a25. O valor padrão é6.UInt8
hashnum shingles de palavras. Tuple(Tuple(String))
Exemplos
Exemplo de uso
Query
Response
wordShingleMinHashCaseInsensitive
Introduzido na versão: v21.1.0 Divide uma string ASCII em partes (shingles) deshinglesize palavras, calcula os valores de hash de cada shingle de palavras e retorna uma tupla com esses hashes.
Usa hashnum hashes mínimos para calcular o hash mínimo e hashnum hashes máximos para calcular o hash máximo.
Não diferencia letras maiúsculas de minúsculas.
Pode ser usado para detectar strings semiduplicadas com tupleHammingDistance.
Para duas strings, se os hashes retornados forem iguais para ambas, então essas strings são iguais.
Sintaxe
string—Stringpara a qual o hash será calculado.Stringshinglesize— Opcional. O tamanho de um shingle de palavras; pode ser qualquer número de1a25. O valor padrão é3.UInt8hashnum— Opcional. O número de hashes mínimos e máximos usados para calcular o resultado; pode ser qualquer número de1a25. O valor padrão é6.UInt8
Tuple(UInt64, UInt64)
Exemplos
Exemplo de uso
Query
Response
wordShingleMinHashCaseInsensitiveUTF8
Introduzido em: v21.1.0 Divide uma string UTF-8 em partes (shingles) deshinglesize palavras, calcula os valores de hash para cada shingle de palavras e retorna uma tupla com esses hashes.
Usa hashnum hashes mínimos para calcular o hash mínimo e hashnum hashes máximos para calcular o hash máximo.
Não diferencia letras maiúsculas de minúsculas.
Pode ser usado para detectar strings semiduplicadas com tupleHammingDistance.
Para duas strings, se os hashes retornados forem os mesmos para ambas, então essas strings são iguais.
Sintaxe
string— String para a qual o hash será calculado.Stringshinglesize— Opcional. O tamanho de um shingle de palavras, qualquer número de1a25. O valor padrão é3.UInt8hashnum— Opcional. A quantidade de hashes mínimo e máximo usada para calcular o resultado, qualquer número de1a25. O valor padrão é6.UInt8
Tuple(UInt64, UInt64)
Exemplos
Exemplo de uso
Query
Response
wordShingleMinHashUTF8
Introduzido em: v21.1.0 Divide uma string UTF-8 em partes (shingles) deshinglesize palavras, calcula os valores de hash para cada word shingle e retorna uma tupla com esses hashes.
Usa hashnum hashes mínimos para calcular o hash mínimo e hashnum hashes máximos para calcular o hash máximo.
Diferencia maiúsculas de minúsculas.
Pode ser usada para detectar strings semiduplicadas com tupleHammingDistance.
Para duas strings, se os hashes retornados forem os mesmos para ambas, então essas strings são iguais.
Sintaxe
string— String para a qual o hash será calculado.Stringshinglesize— Opcional. O tamanho de um shingle de palavras, qualquer número de1a25. O valor padrão é3.UInt8hashnum— Opcional. O número de hashes mínimos e máximos usados para calcular o resultado, qualquer número de1a25. O valor padrão é6.UInt8
Tuple(UInt64, UInt64)
Exemplos
Exemplo de uso
Query
Response
wordShingleSimHash
Introduzido em: v21.1.0 Divide uma string ASCII em partes (shingles) deshinglesize palavras e retorna o simhash dos shingles de palavras.
Diferencia maiúsculas de minúsculas.
Pode ser usado para detectar strings semiduplicadas com bitHammingDistance.
Quanto menor a distância de Hamming entre os simhashes calculados de duas strings, maior a probabilidade de essas strings serem iguais.
Sintaxe
string— String para a qual o hash será calculado.Stringshinglesize— Opcional. O tamanho de um shingle de palavras, qualquer número de1a25. O valor padrão é3.UInt8
UInt64
Exemplos
Exemplo de uso
Query
Response
wordShingleSimHashCaseInsensitive
Introduzido na versão: v21.1.0 Divide uma string ASCII em partes (shingles) deshinglesize palavras e retorna o simhash do shingle de palavras.
Não diferencia maiúsculas de minúsculas.
Pode ser usado para detectar strings semiduplicadas com bitHammingDistance.
Quanto menor a distância de Hamming entre os simhashes calculados de duas strings, maior a probabilidade de essas strings serem iguais.
Sintaxe
string— String para a qual o hash será calculado.Stringshinglesize— Opcional. O tamanho de um shingle de palavras, qualquer número de1a25. O valor padrão é3.UInt8
UInt64
Exemplos
Exemplo de uso
Query
Response
wordShingleSimHashCaseInsensitiveUTF8
Introduzido em: v1.1.0 Divide uma string codificada em UTF-8 em partes (shingles) deshinglesize palavras e retorna o simhash do shingle de palavras.
Não diferencia maiúsculas de minúsculas.
Pode ser usado para detectar strings semiduplicadas com bitHammingDistance.
Quanto menor a Distância de Hamming dos simhashes calculados de duas strings, maior a probabilidade de essas strings serem iguais.
Sintaxe
string— String para a qual o hash será calculado.Stringshinglesize— Opcional. O tamanho de um shingle de palavras, qualquer valor de1a25. O valor padrão é3.UInt8
UInt64
Exemplos
Exemplo de uso
Query
Response
wordShingleSimHashUTF8
Introduzido em: v21.1.0 Divide uma string UTF-8 em partes (shingles) deshinglesize palavras e retorna o simhash do shingle de palavras.
Diferencia maiúsculas de minúsculas.
Pode ser usado para detectar strings semiduplicadas com bitHammingDistance.
Quanto menor a distância de Hamming entre os simhashes calculados de duas strings, maior a probabilidade de essas strings serem iguais.
Sintaxe
string— String para a qual o hash será calculado.Stringshinglesize— Opcional. O tamanho de um shingle de palavras, qualquer número de1a25. O valor padrão é3.UInt8
UInt64
Exemplos
Exemplo de uso
Query
Response
wyHash64
Introduzido em: v22.7.0 Calcula um valor de hash wyHash64 de 64 bits. Sintaxearg— ArgumentoStringcujo hash será calculado.String
UInt64
Exemplos
Exemplo de uso
Query
Response
xxHash32
Introduzido em: v20.1.0 Calcula um xxHash de uma string. Para a versão de 64 bits, consultexxHash64
Sintaxe
arg— String de entrada para gerar o hash.String
UInt32
Exemplos
Exemplo de uso
Query
Response
xxHash64
Introduzido em: v20.1.0 Calcula um xxHash de uma string. Para a versão de 32 bits, consultexxHash32
Sintaxe
arg— String de entrada para gerar o hash.String
UInt64
Exemplos
Exemplo de uso
Query
Response
xxHash64Spark
Introduzido em: v26.7.0 Calcula um xxHash de uma string usando a mesma seed do Spark. Esta função é igual axxHash64, mas usa a seed 42 e retorna o resultado como Int64.
Há suporte apenas para entradas String e NULL.
Para NULL, a função retorna 42, em conformidade com o comportamento da seed no Spark.
Sintaxe
arg— string de entrada para cálculo do hash.String
Int64
Exemplos
Exemplo de uso
Query
Response
xxh3
Introduzido em: v22.12.0 Calcula um valor de hash XXH3 de 64 bits. Sintaxeexpr— Uma lista de expressões de qualquer tipo de dado.Any
xxh3 calculado de 64 bits UInt64
Exemplos
Exemplo de uso
Query
Response
xxh3_128
Introduzido na versão: v26.2.0 Calcula um valor de hash XXH3 de 128 bits. Sintaxeexpr— Uma lista de expressões de qualquer tipo de dado.Any
xxh3 calculado de 128 bits UInt128
Exemplos
Exemplo de uso
Query
Response