NULL의 해시는 NULL입니다. 널 허용 컬럼에서 NULL이 아닌 해시 값을 얻으려면
tuple로 감싸십시오:테이블 전체 내용의 해시를 계산하려면
sum(cityHash64(tuple(*)))(또는 다른 해시 함수)를 사용하십시오. tuple은 NULL 값을 가진 행이 건너뛰어지지 않도록 합니다. sum은 행의 순서가 결과에 영향을 주지 않도록 합니다.BLAKE3
도입 버전: v22.10.0 BLAKE3 해시 문자열을 계산하고, 결과 바이트 집합을 FixedString으로 반환합니다. 이 암호학적 해시 함수는 BLAKE3 Rust 라이브러리를 통해 ClickHouse에 통합되어 있습니다. 이 함수는 상당히 빠르며, SHA-256과 같은 길이의 해시를 생성하면서도 SHA-2보다 대략 2배 빠른 성능을 보입니다. BLAKE3 해시를 FixedString(32) 유형의 바이트 배열로 반환합니다. 구문message— 해시할 입력 문자열입니다.String
FixedString(32)
예시
hash
Query
Response
MD4
도입 버전: v21.11.0 주어진 문자열의 MD4 해시를 계산합니다. 구문s— 해시할 입력 문자열입니다.String
FixedString(16)
예시
사용 예시
Query
Response
MD5
도입 버전: v1.1.0 주어진 문자열의 MD5 해시를 계산합니다. 구문s— 해시할 입력 문자열입니다.String
FixedString(16)
예시
사용 예시
Query
Response
RIPEMD160
도입 버전: v24.10.0 주어진 문자열의 RIPEMD-160 해시를 계산합니다. 구문s— 해시할 입력 문자열입니다.String
FixedString(20)
예시
사용 예시
Query
Response
SHA1
도입 버전: v1.1.0 지정된 문자열의 SHA1 해시를 계산합니다. 구문s— 해시할 입력 문자열String
FixedString(20)
예시
사용 예시
Query
Response
SHA224
도입 버전: v1.1.0 지정된 문자열의 SHA224 해시를 계산합니다. 구문s— 해시할 입력값입니다.String
FixedString(28)
예시
사용 예시
Query
Response
SHA256
도입 버전: v1.1.0 지정된 문자열의 SHA256 해시를 계산합니다. 구문s— 해시할 입력 문자열입니다.String
FixedString(32)
예시
사용 예시
Query
Response
SHA384
도입 버전: v1.1.0 주어진 문자열의 SHA384 해시를 계산합니다. 구문s— 해시할 입력 문자열입니다.String
FixedString(48)
예시
사용 예시
Query
Response
SHA512
도입 버전: v1.1.0 주어진 문자열의 SHA512 해시를 계산합니다. 구문s— 해시할 입력 문자열String
FixedString(64)
예시
사용 예시
Query
Response
SHA512_256
도입 버전: v1.1.0 주어진 문자열의 SHA512_256 해시를 계산합니다. 구문s— 해시할 입력 문자열입니다.String
FixedString(32)
예시
사용 예시
Query
Response
URLHash
도입 버전: v1.1.0 일종의 정규화를 거쳐 URL에서 얻은 문자열에 대해 계산하는, 빠르고 성능이 괜찮은 비암호학적 해시 함수입니다. 이 해시 함수에는 두 가지 모드가 있습니다:
구문
url의 해시 값을 반환합니다. UInt64
예시
사용 예시
Query
Response
Query
Response
cityHash64
도입 버전: v1.1.0 64비트 CityHash 해시 값을 생성합니다. 빠른 비암호학적 해시 함수입니다. 문자열 매개변수에는 CityHash 알고리즘을 사용하고, 다른 데이터 타입의 매개변수에는 구현별 빠른 비암호학적 해시 함수를 사용합니다. 이 함수는 최종 결과를 얻기 위해 CityHash combinator를 사용합니다.Google은 CityHash가 ClickHouse에 추가된 후 CityHash 알고리즘을 변경했습니다.
다시 말해, ClickHouse의 cityHash64와 Google의 원본 CityHash는 이제 서로 다른 결과를 생성합니다.
ClickHouse의 cityHash64는 CityHash v1.0.2에 해당합니다.
계산된 해시 값은 인수 타입이 다르더라도 입력값이 같으면 동일할 수 있습니다.
예를 들어 크기가 다른 정수 타입, 동일한 데이터를 가진 기명 Tuple과 비기명 Tuple, 그리고 동일한 데이터를 가진
Map과 이에 대응하는 Array(Tuple(key, value)) 타입에 이런 현상이 발생할 수 있습니다.arg1[, arg2, ...]— 해시를 계산할 입력 인수입니다. 개수는 가변적입니다.Any
UInt64
예시
호출 예시
Query
Response
Query
Response
farmFingerprint64
도입 버전: v20.12.0Fingerprint64 메서드를 사용해 64비트 FarmHash 값을 생성합니다.
계산된 해시 값은 인수 타입이 서로 달라도 동일한 입력 값에 대해 같을 수 있습니다.
예를 들어 크기가 다른 정수 타입, 동일한 데이터를 가진 기명 Tuple과 비기명 Tuple, 동일한 데이터를 가진
Map과 이에 대응하는 Array(Tuple(key, value)) 타입이 여기에 해당합니다.arg1[, arg2, ...]— 해시를 계산할 가변 개수의 입력 인수입니다.Any
UInt64
예시
사용 예시
Query
Response
farmHash64
도입 버전: v1.1.0Hash64 메서드를 사용해 64비트 FarmHash를 생성합니다.
계산된 해시 값은 인수 타입이 서로 달라도 입력 값이 같으면 동일할 수 있습니다.
예를 들면 크기가 다른 정수 타입, 동일한 데이터를 가진 기명 Tuple과 비기명 Tuple, 그리고 동일한 데이터를 가진
Map과 이에 대응하는 Array(Tuple(key, value)) 타입이 여기에 해당합니다.arg1[, arg2, ...]— 해시를 계산할 입력 인수를 가변 개수로 받습니다.Any
UInt64
예시
사용 예시
Query
Response
gccMurmurHash
도입 버전: v20.1.0 GCC에서 사용하는 것과 동일한 seed를 사용해 입력 값의 64비트 MurmurHash2 해시를 계산합니다. Clang build와 GCC build 간에 이식성이 있습니다. 구문arg1[, arg2, ...]— 해시를 계산할 가변 개수의 인수입니다.Any
UInt64
예시
사용 예시
Query
Response
halfMD5
도입 버전: v1.1.0 모든 입력 매개변수를 문자열로 해석하여 각 매개변수의 MD5 해시 값을 계산합니다. 그런 다음 이 해시들을 결합한 뒤, 결과 문자열의 해시에서 처음 8바이트를 가져와 빅 엔디언 바이트 순서의 UInt64로 해석합니다. 이 함수는 비교적 느립니다(프로세서 코어당 초당 500만 개의 짧은 문자열). 대신sipHash64 함수를 사용하는 것이 좋습니다.
이 함수는 가변 개수의 입력 매개변수를 받습니다.
인수는 지원되는 모든 데이터 타입이 될 수 있습니다.
일부 데이터 타입에서는 인수의 타입이 서로 달라도 값이 같으면 계산된 해시 값이 같을 수 있습니다(크기가 다른 정수, 동일한 데이터를 가진 기명 Tuple과 비기명 Tuple, 동일한 데이터를 가진 Map과 이에 대응하는 Array(Tuple(key, value)) 타입).
구문
arg1[, arg2, ..., argN]— 해시를 계산할 가변 개수의 인수입니다.Any
UInt64로 반환합니다. UInt64
예시
사용 예시
Query
Response
hiveHash
도입 버전: v20.1.0 문자열에서 “HiveHash”를 계산합니다. 이는 부호 비트를 0으로 설정한JavaHash와 동일합니다.
이 함수는 3.0 이전 버전의 Apache Hive에서 사용됩니다.
구문
arg— 해시할 입력 문자열입니다.String
Int32
예시
사용 예시
Query
Response
icebergHash
도입된 버전: v25.5.0 Iceberg 해싱 변환의 로직을 구현합니다. 구문value— 해시를 계산할 원본 값입니다.Integer,Bool,Decimal,Float*,String,FixedString,UUID,Date,Time또는DateTime입니다.
Int32
예시
예시
Query
Response
intHash32
도입 버전: v1.1.0 정수의 32비트 해시를 계산합니다. 이 해시 함수는 비교적 빠르지만, 암호학적 해시 함수는 아닙니다. 구문arg— 해시할 정수입니다.(U)Int*
UInt32
예시
사용 예시
Query
Response
intHash64
도입 버전: v1.1.0 정수의 64비트 해시를 계산합니다. 이 해시 함수는 비교적 빠르며(intHash32보다도 더 빠름), 암호학적 해시 함수는 아닙니다.
구문
int— 해시할 정숫값.(U)Int*
UInt64
예시
사용 예시
Query
Response
javaHash
도입 버전: v20.1.0 다음 값에 대한 JavaHash를 계산합니다:Java는 부호 있는 정수의 해시 계산만 지원합니다.
따라서 부호 없는 정수의 해시를 계산하려면 적절한 부호 있는 ClickHouse 타입으로 캐스팅해야 합니다.
arg— 해시를 계산할 입력 값입니다.Any
arg의 해시 계산 결과를 반환합니다. Int32
예시
사용 예시 1
Query
Response
Query
Response
javaHashUTF16LE
도입 버전: v20.1.0 UTF-16LE로 인코딩된 문자열을 나타내는 바이트가 포함되어 있다고 가정하고, 문자열로부터 JavaHash를 계산합니다. 구문arg— UTF-16LE로 인코딩된 문자열입니다.String
Int32
예시
사용 예시
Query
Response
jumpConsistentHash
도입 버전: v1.1.0 정수의 jump consistent hash를 계산합니다. 구문Int32
예시
사용 예시
Query
Response
kafkaMurmurHash
도입 버전: v23.4.0 Kafka에서 사용하는 것과 동일한 seed를 사용하고, Default Partitioner와의 호환성을 위해 최상위 비트를 제외한 입력값의 32비트 MurmurHash2 해시를 계산합니다. 구문arg1[, arg2, ...]— 해시를 계산할 가변 개수의 인수입니다.Any
UInt32
예시
사용 예시
Query
Response
keccak256
도입 버전: v25.4.0 주어진 문자열의 Keccak-256 암호학적 해시를 계산합니다. 이 해시 함수는 블록체인 애플리케이션, 특히 Ethereum에서 널리 사용됩니다. 구문message— 해시할 입력 문자열.String
FixedString(32)
예시
사용 예시
Query
Response
kostikConsistentHash
도입 버전: v22.6.0 Konstantin ‘Kostik’ Oblakov가 개발한 시간 및 공간 복잡도가 O(1)인 consistent hash 알고리즘입니다.n <= 32768인 경우에만 효율적입니다.
구문
yandexConsistentHash
인수
반환 값
계산된 해시 값을 반환합니다. UInt16
예시
사용 예시
Query
Response
metroHash64
도입 버전: v1.1.0 64비트 MetroHash 해시 값을 생성합니다.계산된 해시 값은 인수 타입이 서로 달라도 입력값이 같으면 동일할 수 있습니다.
예를 들어 크기가 서로 다른 정수 타입, 동일한 데이터를 가진 이름 있는
Tuple과 이름 없는 Tuple, 그리고 동일한 데이터를 가진 Map과 이에 대응하는 Array(Tuple(key, value)) 타입이 이에 해당합니다.arg1[, arg2, ...]— 해시를 계산할 입력 인수입니다. 개수는 가변적입니다.Any
UInt64
예시
사용 예시
Query
Response
murmurHash2_32
도입 버전: v18.5.0 입력 값의 MurmurHash2 해시를 계산합니다.계산된 해시 값은 인수 타입이 다르더라도 동일한 입력 값에 대해 같을 수 있습니다.
예를 들어 크기가 다른 정수 타입, 동일한 데이터를 가진 이름 있는
Tuple과 이름 없는 Tuple, 그리고 동일한 데이터를 가진 Map과 이에 대응하는 Array(Tuple(key, value)) 타입이 여기에 해당합니다.arg1[, arg2, ...]— 해시를 계산할 입력 인수입니다. 개수는 가변적입니다.Any
UInt32
예시
사용 예시
Query
Response
murmurHash2_64
도입 버전: v18.10.0 입력 값의 MurmurHash2 해시를 계산합니다.서로 다른 인수 타입에서 동일한 입력 값에 대해 계산된 해시 값이 같을 수 있습니다.
예를 들어 크기가 다른 정수 타입, 동일한 데이터를 가진 이름 있는
Tuple과 이름 없는 Tuple, 그리고 동일한 데이터를 가진 Map과 이에 대응하는 Array(Tuple(key, value)) 타입에서 이런 일이 발생할 수 있습니다.arg1[, arg2, ...]— 해시를 계산할 가변 개수의 입력 인수입니다.Any
UInt64
예시
사용 예시
Query
Response
murmurHash3_128
도입 버전: v18.10.0 입력값의 128비트 MurmurHash3 해시를 계산합니다. 구문arg1[, arg2, ...]— 해시를 계산할 입력 인수입니다. 개수는 가변적입니다.Any
MurmurHash3 해시 값을 반환합니다. FixedString(16)
예시
사용 예시
Query
Response
murmurHash3_32
도입 버전: v18.10.0 MurmurHash3 해시 값을 생성합니다.계산된 해시 값은 인수 타입이 서로 다르더라도 입력 값이 같으면 동일할 수 있습니다.
이는 예를 들어 크기가 다른 정수 타입, 동일한 데이터를 가진 이름 있는
Tuple과 이름 없는 Tuple, 동일한 데이터를 가진 Map과 그에 대응하는 Array(Tuple(key, value)) 타입에 해당합니다.arg1[, arg2, ...]— 해시를 계산할 입력 인수입니다. 개수는 가변적입니다.Any
UInt32
예시
사용 예시
Query
Response
murmurHash3_64
도입 버전: v18.10.0 입력값의 MurmurHash3 해시를 계산합니다.계산된 해시 값은 인수 타입이 서로 달라도 입력값이 같으면 동일할 수 있습니다.
예를 들어 크기가 다른 정수 타입, 동일한 데이터를 가진 이름 있는
Tuple과 이름 없는 Tuple, 동일한 데이터를 가진 Map과 이에 대응하는 Array(Tuple(key, value)) 타입이 이에 해당합니다.arg1[, arg2, ...]— 해시를 계산할 가변 개수의 입력 인수입니다.Any
UInt64
예시
사용 예시
Query
Response
ngramMinHash
도입 버전: v21.1.0 ASCII 문자열을ngramsize개 기호의 n-그램으로 나누고, 각 n-그램의 해시 값을 계산한 다음 이 해시들로 이루어진 튜플을 반환합니다.
최소 해시값 계산에는 hashnum개의 최소 해시를 사용하고, 최대 해시값 계산에는 hashnum개의 최대 해시를 사용합니다.
대소문자를 구분합니다.
tupleHammingDistance를 사용해 준중복 문자열을 감지하는 데 활용할 수 있습니다.
두 문자열에 대해 반환된 해시가 모두 같으면 두 문자열은 동일합니다.
구문
string— 해시를 계산할 문자열입니다.Stringngramsize— 선택 사항입니다. n-그램의 크기이며,1부터25까지의 값을 사용할 수 있습니다. 기본값은3입니다.UInt8hashnum— 선택 사항입니다. 결과 계산에 사용되는 최소 해시와 최대 해시의 개수이며,1부터25까지의 값을 사용할 수 있습니다. 기본값은6입니다.UInt8
Tuple
예시
사용 예시
Query
Response
ngramMinHashArg
도입된 버전: v21.1.0 ASCII 문자열을ngramsize개의 기호로 이루어진 n-그램으로 분할하고, 동일한 입력에 대해 ngramMinHash 함수로 계산된 최소 및 최대 해시 값을 갖는 n-그램을 반환합니다.
이 함수는 대소문자를 구분합니다.
구문
string— 해시를 계산할 문자열입니다.Stringngramsize— 선택 사항입니다. n-그램의 크기이며,1부터25까지의 숫자를 사용할 수 있습니다. 기본값은3입니다.UInt8hashnum— 선택 사항입니다. 결과 계산에 사용하는 최소 및 최대 해시의 개수이며,1부터25까지의 숫자를 사용할 수 있습니다. 기본값은6입니다.UInt8
hashnum개의 n-그램을 포함하는 두 개의 튜플로 구성된 튜플을 반환합니다. Tuple(String)
예시
사용 예시
Query
Response
ngramMinHashArgCaseInsensitive
도입 버전: v21.1.0 ASCII 문자열을ngramsize개의 기호로 이루어진 n-그램으로 분할하고, 동일한 입력에 대해 ngramMinHashCaseInsensitive 함수로 계산한 최소 및 최대 해시 값을 갖는 n-그램을 반환합니다.
대소문자를 구분하지 않습니다.
구문
string— 해시를 계산할 문자열입니다.Stringngramsize— 선택 사항입니다. n-그램의 크기이며,1부터25까지의 값을 사용할 수 있습니다. 기본값은3입니다.UInt8hashnum— 선택 사항입니다. 결과 계산에 사용되는 최소 해시와 최대 해시의 개수이며,1부터25까지의 값을 사용할 수 있습니다. 기본값은6입니다.UInt8
hashnum개의 n-그램을 포함하는 두 개의 튜플로 구성된 튜플을 반환합니다. Tuple(Tuple(String))
예시
사용 예시
Query
Response
ngramMinHashArgCaseInsensitiveUTF8
도입 버전: v21.1.0 UTF-8 문자열을ngramsize개 기호의 n-그램으로 분할한 다음, 동일한 입력에 대해 ngramMinHashCaseInsensitiveUTF8 함수로 계산한 최소 및 최대 해시에 해당하는 n-그램을 반환합니다.
대소문자를 구분하지 않습니다.
구문
string— 해시를 계산할 문자열입니다.Stringngramsize— 선택 사항입니다. n-그램의 크기이며,1부터25사이의 값입니다. 기본값은3입니다.UInt8hashnum— 선택 사항입니다. 결과 계산에 사용하는 최소 해시와 최대 해시의 개수이며,1부터25사이의 값입니다. 기본값은6입니다.UInt8
hashnum개의 n-그램을 포함하는 두 개의 튜플로 구성된 튜플을 반환합니다. Tuple(Tuple(String))
예시
사용 예시
Query
Response
ngramMinHashArgUTF8
도입 버전: v21.1.0 UTF-8 문자열을ngramsize개 기호로 이루어진 n-그램으로 분할한 뒤, 동일한 입력에 대해 ngramMinHashUTF8 함수가 계산한 최소 및 최대 해시를 갖는 n-그램을 반환합니다.
이 함수는 대소문자를 구분합니다.
구문
string— 해시를 계산할 문자열입니다.Stringngramsize— 선택 사항입니다. n-그램의 크기이며,1부터25까지의 값입니다. 기본값은3입니다.UInt8hashnum— 선택 사항입니다. 결과 계산에 사용되는 최소 및 최대 해시의 개수이며,1부터25까지의 값입니다. 기본값은6입니다.UInt8
hashnum개의 n-그램을 담은 두 개의 튜플로 구성된 튜플을 반환합니다. Tuple(Tuple(String))
예시
사용 예시
Query
Response
ngramMinHashCaseInsensitive
도입 버전: v21.1.0 ASCII 문자열을ngramsize개 기호로 이루어진 n-그램으로 분할하고, 각 n-그램의 해시 값을 계산한 뒤 이 해시들로 구성된 튜플을 반환합니다.
최소 해시는 hashnum개의 최소 해시를 사용해 계산하고, 최대 해시는 hashnum개의 최대 해시를 사용해 계산합니다.
대소문자를 구분하지 않습니다.
tupleHammingDistance를 사용해 준중복 문자열을 감지하는 데 활용할 수 있습니다.
두 문자열에 대해 반환된 해시가 모두 같으면 해당 문자열은 동일합니다.
구문
string— String. String. -ngramsize— n-그램의 크기입니다. 선택 사항입니다. 가능한 값:1에서25사이의 임의의 숫자입니다. 기본값은3입니다. UInt8. -hashnum— 결과 계산에 사용되는 최소 및 최대 해시의 개수입니다. 선택 사항입니다. 가능한 값:1에서25사이의 임의의 숫자입니다. 기본값은6입니다. UInt8.
Tuple
예시
사용 예시
Query
Response
ngramMinHashCaseInsensitiveUTF8
도입 버전: v21.1.0 UTF-8 문자열을ngramsize개 기호로 이루어진 n-그램으로 분할하고, 각 n-그램의 해시 값을 계산한 뒤 이러한 해시로 구성된 튜플을 반환합니다.
최소 해시를 계산할 때는 hashnum개의 최소 해시를 사용하고, 최대 해시를 계산할 때는 hashnum개의 최대 해시를 사용합니다.
대소문자를 구분하지 않습니다.
tupleHammingDistance를 사용해 준중복 문자열을 감지할 수 있습니다.
두 문자열에 대해 반환된 해시가 모두 같으면 해당 문자열은 동일합니다.
구문
string— 해시를 계산할 문자열입니다.Stringngramsize— 선택 사항입니다. n-그램의 크기이며,1부터25까지의 값입니다. 기본값은3입니다.UInt8hashnum— 선택 사항입니다. 결과 계산에 사용되는 최소 해시와 최대 해시의 개수이며,1부터25까지의 값입니다. 기본값은6입니다.UInt8
Tuple
예시
사용 예시
Query
Response
ngramMinHashUTF8
도입 버전: v21.1.0 UTF-8 문자열을ngramsize개 기호로 이루어진 n-그램으로 분할한 뒤, 각 n-그램의 해시 값을 계산하여 이 해시들로 구성된 튜플을 반환합니다.
최소 해시는 hashnum개의 최소 해시를 사용해 계산하고, 최대 해시는 hashnum개의 최대 해시를 사용해 계산합니다.
대소문자를 구분합니다.
tupleHammingDistance를 사용해 준중복 문자열을 탐지하는 데 사용할 수 있습니다.
두 문자열에서 반환된 해시가 서로 같으면 해당 문자열은 동일합니다.
구문
string— 해시를 계산할 문자열입니다.Stringngramsize— 선택 사항입니다. n-그램의 크기이며,1부터25사이의 값입니다. 기본값은3입니다.UInt8hashnum— 선택 사항입니다. 결과 계산에 사용되는 최소 해시와 최대 해시의 개수이며,1부터25사이의 값입니다. 기본값은6입니다.UInt8
Tuple
예시
사용 예시
Query
Response
ngramSimHash
도입 버전: v21.1.0 ASCII 문자열을ngramsize개 기호로 이루어진 n-그램으로 나누고, n-그램 simhash를 반환합니다.
bitHammingDistance와 함께 사용하면 준중복 문자열을 탐지할 수 있습니다.
두 문자열에 대해 계산된 simhash 값의 해밍 거리가 작을수록, 두 문자열이 동일할 가능성이 높습니다.
구문
string— 대소문자를 구분하는simhash를 계산할 문자열입니다.Stringngramsize— 선택 사항입니다. n-그램의 크기이며,1부터25까지의 값입니다. 기본값은3입니다.UInt8
UInt64
예시
사용 예시
Query
Response
ngramSimHashCaseInsensitive
도입 버전: v21.1.0 ASCII 문자열을ngramsize개 기호로 이루어진 n-그램으로 분할하고, n-그램 simhash를 반환합니다.
대소문자를 구분하지 않습니다.
bitHammingDistance를 사용해 준중복 문자열을 탐지하는 데 사용할 수 있습니다.
두 문자열에서 계산된 simhash 간의 해밍 거리가 작을수록 두 문자열이 동일할 가능성이 높습니다.
구문
string— 대소문자를 구분하지 않는simhash를 계산할 문자열입니다.Stringngramsize— 선택 사항입니다. n-그램의 크기이며,1부터25까지의 숫자를 지정할 수 있습니다. 기본값은3입니다.UInt8
UInt64
예시
사용 예시
Query
Response
ngramSimHashCaseInsensitiveUTF8
도입 버전: v21.1.0 UTF-8 문자열을ngramsize개 기호의 n-그램으로 분할하고, n-그램 simhash를 반환합니다.
대소문자를 구분하지 않습니다.
bitHammingDistance를 사용해 준중복 문자열을 탐지하는 데 활용할 수 있습니다. 두 문자열에서 계산된 simhashes의 해밍 거리가 작을수록, 두 문자열이 동일할 가능성이 높아집니다.
구문
string— 해시를 계산할 문자열입니다.Stringngramsize— 선택 사항입니다. n-그램의 크기이며,1부터25사이의 값을 지정할 수 있습니다. 기본값은3입니다.UInt8
UInt64
예시
사용 예시
Query
Response
ngramSimHashUTF8
도입된 버전: v21.1.0 UTF-8로 인코딩된 문자열을ngramsize개의 기호로 이루어진 n-그램으로 분할한 뒤 n-그램 simhash를 반환합니다.
대소문자를 구분합니다.
bitHammingDistance와 함께 사용하여 준중복 문자열을 탐지할 수 있습니다.
두 문자열의 simhashes를 계산했을 때 해밍 거리가 작을수록 두 문자열이 동일할 가능성이 높습니다.
구문
string— 해시를 계산할 문자열입니다.Stringngramsize— 선택 사항입니다. n-그램의 크기이며,1부터25까지의 값이 가능합니다. 기본값은3입니다.UInt8
UInt64
예시
사용 예시
Query
Response
sipHash128
도입 버전: v1.1.0sipHash64와 유사하지만 128비트 해시 값을 생성합니다. 즉, 최종 xor-folding 단계가 128비트까지 수행됩니다.
구문
arg1[, arg2, ...]— 해시를 계산할 입력 인수입니다. 개수는 가변적입니다.Any
SipHash 해시 값을 반환합니다. FixedString(16)
예시
사용 예시
Query
Response
sipHash128Keyed
도입 버전: v23.2.0 고정 키를 사용하는 대신 명시적으로 지정한 키 인수를 받는다는 점만 제외하면sipHash128과 동일합니다.
구문
(k0, k1)— 키를 나타내는 두 개의 UInt64 값으로 구성된 튜플입니다.Tuple(UInt64, UInt64)arg1[, arg2, ...]— 해시를 계산할 가변 개수의 입력 인수입니다.Any
SipHash 해시 값입니다. FixedString(16)
예시
사용 예시
Query
Response
sipHash128Reference
도입 버전: v23.2.0sipHash128와 유사하지만, SipHash 원저자의 128비트 알고리즘을 구현합니다.
구문
arg1[, arg2, ...]— 해시를 계산할 가변 개수의 입력 인수입니다.Any
SipHash 해시 값을 반환합니다. FixedString(16)
예시
사용 예시
Query
Response
sipHash128ReferenceKeyed
도입 버전: v23.2.0 고정 키를 사용하는 대신 명시적으로 지정한 키 인수를 추가로 받는다는 점만 제외하면sipHash128Reference와 동일합니다.
구문
(k0, k1)— 키를 나타내는 두 값으로 이루어진 튜플Tuple(UInt64, UInt64)arg1[, arg2, ...]— 해시를 계산할 입력 인수로, 개수는 가변적입니다.Any
SipHash 해시 값을 반환합니다. FixedString(16)
예시
사용 예시
Query
Response
sipHash64
도입 버전: v1.1.0 64비트 SipHash 해시 값을 생성합니다. 이 함수는 암호학적 해시 함수입니다.MD5 해시 함수보다 적어도 3배 빠릅니다.
이 함수는 모든 입력 매개변수를 문자열로 해석한 뒤, 각각의 해시 값을 계산합니다.
그런 다음 다음 알고리즘을 사용해 해시를 결합합니다.
- 첫 번째 해시 값과 두 번째 해시 값을 배열로 연결한 다음 해시합니다.
- 앞서 계산한 해시 값과 세 번째 입력 매개변수의 해시를 같은 방식으로 해시합니다.
- 이 계산을 원래 입력의 나머지 모든 해시 값에 대해 반복합니다.
계산된 해시 값은 인수 타입이 서로 달라도 입력 값이 같으면 동일할 수 있습니다.
예를 들어 크기가 서로 다른 정수 타입, 동일한 데이터를 가진 이름 있는
Tuple과 이름 없는 Tuple, 동일한 데이터를 가진 Map과 이에 대응하는 Array(Tuple(key, value)) 타입이 이에 해당합니다.arg1[, arg2, ...]— 가변 개수의 입력 인수입니다.Any
UInt64
예시
사용 예시
Query
Response
sipHash64Keyed
도입 버전: v23.2.0sipHash64와 비슷하지만, 고정 키를 사용하는 대신 명시적으로 지정한 키 인수를 받습니다.
구문
(k0, k1)— 키를 나타내는 두 값의 튜플입니다.Tuple(UInt64, UInt64)arg1[,arg2, ...]— 개수가 가변적인 입력 인수입니다.Any
UInt64
예시
사용 예시
Query
Response
wordShingleMinHash
도입 버전: v21.1.0 ASCII 문자열을shinglesize개 단어로 이루어진 부분(shingle)으로 나누고, 각 단어 shingle의 해시 값을 계산한 다음 해당 해시로 구성된 튜플을 반환합니다.
hashnum개의 최소 해시를 사용해 최소 해시를 계산하고, hashnum개의 최대 해시를 사용해 최대 해시를 계산합니다.
대소문자를 구분합니다.
tupleHammingDistance를 사용해 준중복 문자열을 감지하는 데 활용할 수 있습니다.
두 문자열에서 반환된 해시가 서로 같으면 두 문자열은 동일합니다.
구문
string— 해시를 계산할 문자열입니다.Stringshinglesize— 선택 사항입니다. 단어 shingle의 크기이며,1부터25까지의 값을 사용할 수 있습니다. 기본값은3입니다.UInt8hashnum— 선택 사항입니다. 결과 계산에 사용하는 최소 및 최대 해시의 개수이며,1부터25까지의 값을 사용할 수 있습니다. 기본값은6입니다.UInt8
Tuple(UInt64, UInt64)
예시
사용 예시
Query
Response
wordShingleMinHashArg
도입 버전: v1.1.0 ASCII 문자열을 각각shinglesize개의 단어로 이루어진 부분(shingle)으로 나눈 뒤, 동일한 입력에 wordShingleMinHash 함수를 적용해 계산한 최소 및 최대 단어 hash를 갖는 shingle을 반환합니다.
대소문자를 구분합니다.
구문
string— 해시를 계산할 문자열입니다.Stringshinglesize— 선택 사항입니다. 단어 shingle의 크기이며,1부터25까지의 값을 지정할 수 있습니다. 기본값은3입니다.UInt8hashnum— 선택 사항입니다. 결과 계산에 사용되는 최소 및 최대 해시의 개수이며,1부터25까지의 값을 지정할 수 있습니다. 기본값은6입니다.UInt8
hashnum개의 단어 shingle을 포함하는 2개의 튜플로 구성된 튜플을 반환합니다. Tuple(Tuple(String))
예시
사용 예시
Query
Response
wordShingleMinHashArgCaseInsensitive
도입 버전: v21.1.0 ASCII 문자열을 각각shinglesize개 단어로 구성된 부분(단어 shingle)으로 나누고, 동일한 입력에 대해 wordShingleMinHashCaseInsensitive 함수로 계산한 단어 해시의 최솟값과 최댓값에 해당하는 단어 shingle을 반환합니다.
대소문자를 구분하지 않습니다.
구문
string— 해시를 계산할 문자열입니다.Stringshinglesize— 선택 사항입니다. 단어 shingle의 크기이며,1부터25까지의 값입니다. 기본값은3입니다.UInt8hashnum— 선택 사항입니다. 결과 계산에 사용되는 최소 및 최대 해시의 개수이며,1부터25까지의 값입니다. 기본값은6입니다.UInt8
hashnum개의 단어 shingle을 포함하는 두 개의 튜플을 담은 튜플을 반환합니다. Tuple(Tuple(String))
예시
사용 예시
Query
Response
wordShingleMinHashArgCaseInsensitiveUTF8
도입 버전: v21.1.0 UTF-8 문자열을 각각shinglesize개의 단어로 이루어진 조각(shingle)으로 분할하고, 동일한 입력에 대해 wordShingleMinHashCaseInsensitiveUTF8 함수로 계산한 최소 및 최대 단어 해시를 갖는 shingle을 반환합니다.
대소문자를 구분하지 않습니다.
구문
string— 해시를 계산할 대상String입니다.Stringshinglesize— 선택 사항입니다. 단어 shingle의 크기이며,1부터25까지의 값을 사용할 수 있습니다. 기본값은3입니다.UInt8hashnum— 선택 사항입니다. 결과 계산에 사용되는 최소 및 최대 해시의 개수이며,1부터25까지의 값을 사용할 수 있습니다. 기본값은6입니다.UInt8
hashnum개의 단어 shingle을 포함하는 2개의 튜플로 구성된 튜플을 반환합니다. Tuple(Tuple(String))
예시
사용 예시
Query
Response
wordShingleMinHashArgUTF8
도입 버전: v21.1.0 UTF-8 문자열을 각각shinglesize개의 단어로 구성된 부분(shingle)으로 분할한 뒤, 동일한 입력에 대해 wordShingleMinHashUTF8 함수로 계산한 단어 해시의 최솟값과 최댓값에 해당하는 shingle을 반환합니다.
이 함수는 대소문자를 구분합니다.
구문
string— 해시를 계산할 대상 문자열입니다.Stringshinglesize— 선택 사항입니다. 단어 shingle의 크기이며,1부터25사이의 값을 사용할 수 있습니다. 기본값은3입니다.UInt8hashnum— 선택 사항입니다. 결과 계산에 사용되는 최소 및 최대 해시의 개수이며,1부터25사이의 값을 사용할 수 있습니다. 기본값은6입니다.UInt8
hashnum개의 단어 shingle을 포함하는 두 개의 튜플로 구성된 튜플을 반환합니다. Tuple(Tuple(String))
예시
사용 예시
Query
Response
wordShingleMinHashCaseInsensitive
도입 버전: v21.1.0 ASCII 문자열을shinglesize개 단어로 이루어진 부분(shingle)으로 나누고, 각 단어 shingle의 hash value를 계산한 뒤, 이 hash들을 포함하는 튜플을 반환합니다.
최소 hash는 hashnum개의 최소 hash를 사용해 계산하고, 최대 hash는 hashnum개의 최대 hash를 사용해 계산합니다.
대소문자를 구분하지 않습니다.
tupleHammingDistance와 함께 사용하면 준중복 문자열을 감지할 수 있습니다.
두 문자열에 대해 반환된 hash가 모두 같으면, 해당 문자열은 동일합니다.
구문
string— 해시를 계산할 문자열입니다.Stringshinglesize— 선택 사항입니다. 단어 shingle의 크기입니다.1부터25까지의 값을 사용할 수 있습니다. 기본값은3입니다.UInt8hashnum— 선택 사항입니다. 결과 계산에 사용되는 최소 해시와 최대 해시의 개수입니다.1부터25까지의 값을 사용할 수 있습니다. 기본값은6입니다.UInt8
Tuple(UInt64, UInt64)
예시
사용 예시
Query
Response
wordShingleMinHashCaseInsensitiveUTF8
도입 버전: v21.1.0 UTF-8 문자열을shinglesize개 단어로 이루어진 부분(shingle)으로 나누고, 각 단어 shingle의 해시 값을 계산한 뒤, 이 해시들로 구성된 튜플을 반환합니다.
최소 해시는 hashnum개의 최소 해시를 사용해 계산하고, 최대 해시는 hashnum개의 최대 해시를 사용해 계산합니다.
대소문자를 구분하지 않습니다.
tupleHammingDistance를 사용해 준중복 문자열을 탐지하는 데 사용할 수 있습니다.
두 문자열 모두에서 반환된 해시가 같으면 두 문자열은 동일합니다.
구문
string— 해시를 계산할 문자열입니다.Stringshinglesize— 선택 사항입니다. 단어 shingle의 크기이며,1부터25까지의 값을 사용할 수 있습니다. 기본값은3입니다.UInt8hashnum— 선택 사항입니다. 결과 계산에 사용되는 최소 해시와 최대 해시의 개수이며,1부터25까지의 값을 사용할 수 있습니다. 기본값은6입니다.UInt8
Tuple(UInt64, UInt64)
예시
사용 예시
Query
Response
wordShingleMinHashUTF8
도입 버전: v21.1.0 UTF-8 문자열을shinglesize개 단어로 이루어진 파트(shingle)로 나누고, 각 단어 shingle의 해시값을 계산한 다음 이 해시들로 구성된 튜플을 반환합니다.
최소 해시는 hashnum개의 최소 해시를 사용해 계산하고, 최대 해시는 hashnum개의 최대 해시를 사용해 계산합니다.
이 함수는 대소문자를 구분합니다.
tupleHammingDistance와 함께 사용하면 준중복 문자열을 탐지할 수 있습니다.
두 문자열에서 반환된 해시가 모두 같으면, 해당 문자열은 동일합니다.
구문
string— 해시를 계산할 문자열입니다.Stringshinglesize— 선택 사항입니다. 단어 shingle의 크기이며,1부터25까지의 값을 사용할 수 있습니다. 기본값은3입니다.UInt8hashnum— 선택 사항입니다. 결과 계산에 사용되는 최소 및 최대 해시의 개수이며,1부터25까지의 값을 사용할 수 있습니다. 기본값은6입니다.UInt8
Tuple(UInt64, UInt64)
예시
사용 예시
Query
Response
wordShingleSimHash
도입 버전: v21.1.0 ASCII 문자열을shinglesize개 단어씩 묶은 부분(shingle)으로 분할하고, 단어 shingle simhash를 반환합니다.
대소문자를 구분합니다.
bitHammingDistance를 사용해 준중복 문자열을 탐지하는 데 사용할 수 있습니다.
두 문자열에서 계산된 simhashes의 해밍 거리가 작을수록 두 문자열이 동일할 가능성이 높습니다.
구문
string— 해시를 계산할 대상 문자열입니다.Stringshinglesize— 선택 사항입니다. 단어 shingle의 크기이며,1부터25까지의 숫자입니다. 기본값은3입니다.UInt8
UInt64
예시
사용 예시
Query
Response
wordShingleSimHashCaseInsensitive
도입 버전: v21.1.0 ASCII 문자열을shinglesize개 단어로 이루어진 부분(shingle)으로 나누고, 단어 shingle simhash를 반환합니다.
대소문자를 구분하지 않습니다.
bitHammingDistance를 사용해 준중복 문자열을 탐지하는 데 사용할 수 있습니다.
두 문자열에서 계산된 simhashes의 해밍 거리가 작을수록, 두 문자열이 같을 가능성이 높습니다.
구문
string— 해시를 계산할 문자열입니다.Stringshinglesize— 선택 사항입니다. 단어 shingle의 크기이며,1부터25까지의 숫자를 사용할 수 있습니다. 기본값은3입니다.UInt8
UInt64
예시
사용 예시
Query
Response
wordShingleSimHashCaseInsensitiveUTF8
도입 버전: v1.1.0 UTF-8로 인코딩된 문자열을shinglesize개의 단어로 이루어진 파트(shingles)로 분할하고, 단어 shingle simhash를 반환합니다.
대소문자를 구분하지 않습니다.
bitHammingDistance를 사용해 준중복 문자열을 탐지할 수 있습니다.
두 문자열에 대해 계산된 simhashes의 해밍 거리가 작을수록, 두 문자열이 동일할 가능성이 높습니다.
구문
string— 해시를 계산할 대상String입니다.Stringshinglesize— 선택 사항입니다. 단어 shingle의 크기이며,1부터25사이의 숫자여야 합니다. 기본값은3입니다.UInt8
UInt64
예시
사용 예시
Query
Response
wordShingleSimHashUTF8
지원 버전: v21.1.0 UTF-8 문자열을shinglesize개 단어로 이루어진 부분(shingle)으로 분할한 뒤, 단어 shingle simhash를 반환합니다.
이 함수는 대소문자를 구분합니다.
bitHammingDistance를 사용해 준중복 문자열을 탐지할 수 있습니다.
두 문자열에서 계산된 simhashes의 해밍 거리가 작을수록, 두 문자열이 동일할 가능성이 높습니다.
구문
string— 해시를 계산할 문자열입니다.Stringshinglesize— 선택 사항입니다. 단어 shingle의 크기이며,1에서25사이의 값을 사용할 수 있습니다. 기본값은3입니다.UInt8
UInt64
예시
사용 예시
Query
Response
wyHash64
도입 버전: v22.7.0 64비트 wyHash64 해시 값을 계산합니다. 구문arg— 해시를 계산할String타입 인수입니다.String
UInt64
예시
사용 예시
Query
Response
xxHash32
지원 버전: v20.1.0 문자열의 xxHash를 계산합니다. 64비트 버전은xxHash64를 참조하십시오.
구문
arg— 해시를 계산할 입력 문자열입니다.String
UInt32
예시
사용 예시
Query
Response
xxHash64
도입된 버전: v20.1.0 문자열로부터 xxHash를 계산합니다. 32비트 버전은xxHash32를 참조하십시오.
구문
arg— 해시할 입력 문자열입니다.String
UInt64
예시
사용 예시
Query
Response
xxHash64Spark
도입 버전: v26.7.0 Spark와 동일한 시드를 사용해 문자열의 xxHash를 계산합니다. 이 함수는xxHash64와 동일하지만, 시드 42를 사용하고 결과를 Int64로 반환합니다.
입력값으로는 String과 NULL만 지원합니다.
NULL의 경우 Spark의 시드 동작과 일치하게 42를 반환합니다.
구문
arg— 해시할 입력 문자열입니다.String
Int64
예시
사용 예시
Query
Response
xxh3
도입 버전: v22.12.0 XXH3 64비트 해시 값을 계산합니다. 구문expr— 임의의 데이터 타입의 표현식 목록입니다.Any
xxh3 해시 값을 반환합니다. UInt64
예시
사용 예시
Query
Response
xxh3_128
도입 버전: v26.2.0 XXH3 128비트 해시 값을 계산합니다. 구문expr— 임의의 데이터 타입을 갖는 표현식 목록입니다.Any
xxh3 해시 값을 반환합니다. UInt128
예시
사용 예시
Query
Response