NULL のハッシュは NULL です。Nullable カラムの NULL ではないハッシュ値を取得するには、
tuple でラップします。テーブル全体の内容のハッシュを計算するには、
sum(cityHash64(tuple(*))) (または他のハッシュ関数) を使用します。tuple により、NULL 値を含む行がスキップされなくなります。sum により、行の順序は影響しません。BLAKE3
導入バージョン: v22.10.0 BLAKE3 ハッシュ文字列を計算し、結果のバイト列を FixedString として返します。 この暗号学的ハッシュ関数は、BLAKE3 Rust ライブラリを使用して ClickHouse に統合されています。 この関数は比較的高速で、SHA-2 と比べて約 2 倍の性能を示し、SHA-256 と同じ長さのハッシュを生成します。 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 から得た文字列に対して使用する、高速で十分な品質の非暗号学的ハッシュ関数です。 このハッシュ関数には 2 つのモードがあります。
構文
url のハッシュ値を返します。 UInt64
例
使用例
Query
Response
Query
Response
cityHash64
導入バージョン: v1.1.0 64 ビットの CityHash のハッシュ値を生成します。 これは高速な非暗号学的ハッシュ関数です。 文字列パラメーターには CityHash アルゴリズムを使用し、その他のデータ型のパラメーターには実装固有の高速な非暗号学的ハッシュ関数を使用します。 この関数は、最終結果を得るために CityHash コンビネータを使用します。Google は、CityHash が ClickHouse に追加された後でそのアルゴリズムを変更しました。
つまり、ClickHouse の cityHash64 と Google のオリジナルの CityHash は、現在では異なる結果を生成します。
ClickHouse の cityHash64 は CityHash v1.0.2 に対応しています。
計算されたハッシュ値は、引数の型が異なっていても、同じ入力値に対して同一になる場合があります。
これは、たとえばサイズの異なる整数型、同じデータを持つ名前付きおよび名前なしの
Tuple、同じデータを持つ Map と、それに対応する Array(Tuple(key, value)) 型に影響します。arg1[, arg2, ...]— ハッシュを計算する対象となる、可変個の入力引数です。Any
UInt64
例
呼び出し例
Query
Response
Query
Response
farmFingerprint64
導入バージョン: v20.12.0Fingerprint64 メソッドを使用して、64 ビットの FarmHash 値を生成します。
計算されたハッシュ値は、引数の型が異なっていても、同じ入力値に対しては同一になる場合があります。
これは、たとえばサイズの異なる整数型、同じデータを持つ名前付きおよび名前なしの
Tuple、および同じデータを持つ Map と対応する Array(Tuple(key, value)) 型に当てはまります。arg1[, arg2, ...]— ハッシュを計算するための入力引数。可変個を指定できます。Any
UInt64
例
使用例
Query
Response
farmHash64
導入バージョン: v1.1.0Hash64 メソッドを使用して、64 ビットの FarmHash を生成します。
計算されたハッシュ値は、引数の型が異なっていても、同じ入力値に対しては同一になる場合があります。
これは、たとえばサイズの異なる整数型、同じデータを持つ名前付きおよび名前なしの
Tuple、同じデータを持つ Map と対応する Array(Tuple(key, value)) 型に当てはまります。arg1[, arg2, ...]— ハッシュの計算対象となる可変長の入力引数。Any
UInt64
例
使用例
Query
Response
gccMurmurHash
導入バージョン: v20.1.0 GCCで使用されているものと同じシードを用いて、入力値の 64 ビット MurmurHash2 ハッシュを計算します。 Clang と GCC のビルド間で移植性があります。 構文arg1[, arg2, ...]— ハッシュを計算する対象となる可変個の引数。Any
UInt64
例
使用例
Query
Response
halfMD5
導入バージョン: v1.1.0 すべての入力 パラメータを文字列として解釈し、それぞれの MD5 ハッシュ値を計算します。次に、それらのハッシュを結合し、得られた文字列のハッシュの先頭 8 バイトを取り、 それらをビッグエンディアンのバイト順で UInt64 として解釈します。この関数は 比較的低速です (プロセッサコアあたり、1 秒間に 500 万件の短い文字列) 。 代わりにsipHash64 関数の使用を検討してください。
この関数は可変個の入力パラメータを受け取ります。
引数には、サポートされている任意のデータ型を指定できます。
一部のデータ型では、引数の型が異なっていても、同じ値に対して計算されるハッシュ関数の値が同じになる場合があります (サイズの異なる整数、同じデータを持つ名前付きおよび名前なしの 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 型に CAST する必要があります。
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 整数のジャンプコンシステントハッシュを計算します。 構文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) の コンシステントハッシュ アルゴリズムです。 効率的に動作するのはn <= 32768 の場合に限られます。
構文
yandexConsistentHash
引数
戻り値
算出されたハッシュ値を返します。UInt16
例
使用例
Query
Response
metroHash64
導入バージョン: v1.1.0 64 ビットのMetroHashハッシュ値を生成します。計算されたハッシュ値は、引数の型が異なっていても、入力値が同じであれば一致する場合があります。
たとえば、サイズの異なる整数型、同じデータを持つ名前付きおよび名前なしの
Tuple、同じデータを持つMapと対応するArray(Tuple(key, value))型で、このケースが発生することがあります。arg1[, arg2, ...]— ハッシュ値を計算する対象となる、可変個の入力引数。Any
UInt64
例
使用例
Query
Response
murmurHash2_32
導入バージョン: v18.5.0 入力値の MurmurHash2 ハッシュを計算します。計算されたハッシュ値は、同じ入力値であっても引数の型が異なれば一致する場合があります。
これは、たとえばサイズの異なる整数型、同じデータを持つ名前付きおよび名前なしの
Tuple、同じデータを持つ Map と、それに対応する同じデータの Array(Tuple(key, value)) 型などに当てはまります。arg1[, arg2, ...]— ハッシュの計算対象となる可変個の入力引数。Any
UInt32
例
使用例
Query
Response
murmurHash2_64
導入バージョン: v18.10.0 入力値の MurmurHash2 ハッシュを計算します。計算されたハッシュ値は、同じ入力値であっても、引数の型が異なれば同じになる場合があります。
たとえば、サイズの異なる整数型、同じデータを持つ名前付きおよび名前なしの
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、同じデータを持つ Map と、それに対応する Array(Tuple(key, value)) 型に当てはまります。arg1[, arg2, ...]— ハッシュを計算する対象の可変個の入力引数。Any
UInt32
例
使用例
Query
Response
murmurHash3_64
導入バージョン: v18.10.0 入力値の MurmurHash3 ハッシュを計算します。計算されたハッシュ値は、引数の型が異なっていても、同じ入力値に対して同一になる場合があります。
これは、たとえばサイズの異なる整数型、同じデータを持つ名前付きおよび名前なしの
Tuple、Map と同じデータを持つ対応する Array(Tuple(key, value)) 型などに当てはまります。arg1[, arg2, ...]— ハッシュを計算する対象となる、可変個の入力引数。Any
UInt64
例
使用例
Query
Response
ngramMinHash
導入バージョン: v21.1.0 ASCII文字列をngramsize文字のN-gramに分割し、各N-gramのハッシュ値を計算して、それらのハッシュを含むTupleを返します。
hashnum個の最小ハッシュを使って最小ハッシュを計算し、hashnum個の最大ハッシュを使って最大ハッシュを計算します。
この関数は大文字と小文字を区別します。
tupleHammingDistanceと組み合わせることで、類似した文字列を検出できます。
2つの文字列で返されるハッシュがどちらも同じであれば、それらの文字列は同一です。
構文
string— ハッシュを計算する文字列。Stringngramsize— 任意。N-gram のサイズ。1から25までの任意の数値を指定します。デフォルト値は3です。UInt8hashnum— 任意。結果の計算に使用する最小ハッシュと最大ハッシュの個数。1から25までの任意の数値を指定します。デフォルト値は6です。UInt8
Tuple
例
使用例
Query
Response
ngramMinHashArg
導入バージョン: v21.1.0 ASCII文字列をngramsize 個の記号からなる N-gram に分割し、同じ入力に対して ngramMinHash 関数で計算されたハッシュ値が最小および最大の N-gram を返します。
大文字と小文字を区別します。
構文
string— ハッシュを計算する対象の文字列です。Stringngramsize— 任意。N-gram のサイズです。1から25までの任意の値を指定できます。デフォルト値は3です。UInt8hashnum— 任意。結果の計算に使用する最小ハッシュ値と最大ハッシュ値の数です。1から25までの任意の値を指定できます。デフォルト値は6です。UInt8
hashnum 個の N-gram を含む 2 つのタプルからなるタプルを返します。Tuple(String)
例
使用例
Query
Response
ngramMinHashArgCaseInsensitive
導入バージョン: v21.1.0 ASCII文字列をngramsize文字のN-gramに分割し、同じ入力に対してngramMinHashCaseInsensitive関数で計算される、ハッシュ値が最小および最大のN-gramを返します。
大文字と小文字を区別しません。
構文
string— ハッシュを計算する対象の文字列。Stringngramsize— 省略可能。N-gram のサイズ。1から25までの任意の数値を指定します。デフォルト値は3です。UInt8hashnum— 省略可能。結果の計算に使用する最小ハッシュ数および最大ハッシュ数。1から25までの任意の数値を指定します。デフォルト値は6です。UInt8
hashnum 個の N-gram を含む 2 つの タプル から構成される タプル を返します。Tuple(Tuple(String))
例
使用例
Query
Response
ngramMinHashArgCaseInsensitiveUTF8
導入バージョン: v21.1.0 UTF-8文字列をngramsize 個の記号からなる N-gram に分割し、同じ入力に対して ngramMinHashCaseInsensitiveUTF8 関数で計算した、ハッシュ値が最小および最大の N-gram を返します。
大文字と小文字を区別しません。
構文
string— ハッシュを計算する対象の文字列。Stringngramsize— 任意。N-gram のサイズです。1から25までの任意の整数を指定できます。デフォルト値は3です。UInt8hashnum— 任意。結果の計算に使用する最小ハッシュおよび最大ハッシュの個数です。1から25までの任意の整数を指定できます。デフォルト値は6です。UInt8
hashnum 個の N-gram を含む 2 つのタプルからなるタプルを返します。Tuple(Tuple(String))
例
使用例
Query
Response
ngramMinHashArgUTF8
導入バージョン: v21.1.0 UTF-8文字列をngramsize 文字の N-gram に分割し、同じ入力に対して ngramMinHashUTF8 関数で計算された、最小および最大のハッシュ値を持つ N-gram を返します。
この関数は大文字と小文字を区別します。
構文
string— ハッシュを計算する文字列です。Stringngramsize— 任意。N-gram のサイズです。1から25までの任意の数値を指定できます。デフォルト値は3です。UInt8hashnum— 任意。結果の計算に使用する最小ハッシュ値と最大ハッシュ値の数です。1から25までの任意の数値を指定できます。デフォルト値は6です。UInt8
hashnum 個の N-gram を含む 2 つのタプルからなるタプルを返します。 Tuple(Tuple(String))
例
使用例
Query
Response
ngramMinHashCaseInsensitive
導入バージョン: v21.1.0 ASCII文字列をngramsize 文字の N-gram に分割し、各 N-gram のハッシュ値を計算して、それらのハッシュを含むタプルを返します。
hashnum 個の最小ハッシュを使って最小ハッシュを計算し、hashnum 個の最大ハッシュを使って最大ハッシュを計算します。
大文字と小文字を区別しません。
tupleHammingDistance と組み合わせることで、準重複文字列を検出できます。
2 つの文字列で返されるハッシュが同じであれば、それらの文字列は同一です。
構文
string— String. String. -ngramsize— N-gram のサイズ。省略可能。設定可能な値:1から25までの任意の数。デフォルト値:3。UInt8. -hashnum— 結果の計算に使用する最小ハッシュと最大ハッシュの数。省略可能。設定可能な値:1から25までの任意の数。デフォルト値:6。UInt8.
Tuple
例
使用例
Query
Response
ngramMinHashCaseInsensitiveUTF8
導入バージョン: v21.1.0 UTF-8文字列をngramsize 文字ごとの N-gram に分割し、各 N-gram のハッシュ値を計算して、それらのハッシュを含む Tuple を返します。
最小ハッシュの計算には hashnum 個の最小ハッシュを、最大ハッシュの計算には hashnum 個の最大ハッシュを使用します。
大文字と小文字は区別されません。
tupleHammingDistance を使用して、準重複文字列を検出できます。
2 つの文字列で返されるハッシュが同じであれば、それらの文字列は同一です。
構文
string— ハッシュを計算する文字列です。Stringngramsize— 任意。n-gram のサイズです。1から25までの任意の数値を指定できます。デフォルト値は3です。UInt8hashnum— 任意。結果の計算に使用する最小ハッシュと最大ハッシュの数です。1から25までの任意の数値を指定できます。デフォルト値は6です。UInt8
Tuple
例
使用例
Query
Response
ngramMinHashUTF8
導入バージョン: v21.1.0 UTF-8文字列をngramsize 文字単位の N-gram に分割し、各 N-gram のハッシュ値を計算して、それらのハッシュを含むタプルを返します。
hashnum 個の最小ハッシュを使って最小ハッシュを計算し、hashnum 個の最大ハッシュを使って最大ハッシュを計算します。
大文字と小文字を区別します。
tupleHammingDistance を使用して、準重複文字列を検出できます。
2 つの文字列について、返されるハッシュが両方の文字列で同じであれば、それらの文字列は同一です。
構文
string— ハッシュを計算する文字列です。Stringngramsize— 任意。n-gram のサイズです。1から25までの任意の数値を指定できます。デフォルト値は3です。UInt8hashnum— 任意。結果の計算に使用する最小ハッシュ値と最大ハッシュ値の個数です。1から25までの任意の数値を指定できます。デフォルト値は6です。UInt8
Tuple
例
使用例
Query
Response
ngramSimHash
導入バージョン: v21.1.0 ASCII 文字列をngramsize 文字の N-gram に分割し、その N-gram の simhash を返します。
bitHammingDistance を使用して、準重複文字列の検出に利用できます。
2 つの文字列について計算された simhashes の ハミング距離 が小さいほど、それらの文字列が同じである可能性は高くなります。
構文
string— 大文字と小文字を区別するsimhashを計算する対象の文字列。Stringngramsize— 任意。n-gram のサイズで、1から25までの任意の数値です。デフォルト値は3です。UInt8
UInt64
例
使用例
Query
Response
ngramSimHashCaseInsensitive
導入バージョン: v21.1.0 ASCII 文字列をngramsize 文字の N-gram に分割し、その N-gram の simhash を返します。
大文字と小文字は区別されません。
bitHammingDistance と組み合わせることで、準重複文字列の検出に利用できます。
2 つの文字列から計算した simhashes の ハミング距離 が小さいほど、それらの文字列が同一である可能性は高くなります。
構文
string— 大文字と小文字を区別しないsimhashを計算する文字列。Stringngramsize— 任意。N-gram のサイズ。1から25までの任意の数値を指定できます。デフォルト値は3です。UInt8
UInt64
例
使用例
Query
Response
ngramSimHashCaseInsensitiveUTF8
導入バージョン: v21.1.0 UTF-8文字列をngramsize 文字ずつの N-gram に分割し、その N-gram の simhash を返します。
大文字と小文字は区別されません。
bitHammingDistance を使用すると、準重複文字列の検出に利用できます。2 つの文字列について計算された simhashes の ハミング距離 が小さいほど、それらの文字列が同一である可能性が高くなります。
構文
UInt64
例
使用例
Query
Response
ngramSimHashUTF8
導入バージョン: v21.1.0 UTF-8 でエンコードされた文字列をngramsize 個の文字からなる N-gram に分割し、その N-gram の simhash を返します。
大文字と小文字を区別します。
bitHammingDistance を使って、準重複文字列の検出に利用できます。
2 つの文字列について計算された simhash の ハミング距離 が小さいほど、それらの文字列が同一である可能性は高くなります。
構文
string— ハッシュを計算する対象の文字列です。Stringngramsize— 任意。n-gram のサイズで、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)— キーを表す 2 つの 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.0sipHash128Reference と同じですが、固定キーを使用する代わりに、明示的にキー引数を受け取ります。
構文
(k0, k1)— キーを表す 2 つの値からなるタプルTuple(UInt64, UInt64)arg1[, arg2, ...]— ハッシュの計算対象となる可変個の入力引数です。Any
SipHash ハッシュ値を返します。 FixedString(16)
例
使用例
Query
Response
sipHash64
導入バージョン: v1.1.0 64ビットのSipHashハッシュ値を生成します。 これは暗号学的ハッシュ関数です。MD5ハッシュ関数の少なくとも3倍の速度で動作します。
この関数は、すべての入力パラメータを文字列として解釈し、それぞれのハッシュ値を計算します。
その後、次のアルゴリズムでそれらを結合します。
- 1つ目と2つ目のハッシュ値を連結して配列にし、その配列をハッシュ化します。
- 先ほど計算したハッシュ値と3つ目の入力パラメータのハッシュを、同様の方法でハッシュ化します。
- この計算を、元の入力に含まれる残りすべてのハッシュ値に対して繰り返します。
計算されたハッシュ値は、引数の型が異なっていても、同じ入力値に対しては同一になる場合があります。
これは、たとえばサイズの異なる整数型、同じデータを持つ名前付きおよび名前なしの
Tuple、同じデータを持つMapと、それに対応するArray(Tuple(key, value))型などに当てはまります。arg1[, arg2, ...]— 可変個の入力引数。Any
UInt64
例
使用例
Query
Response
sipHash64Keyed
導入バージョン: v23.2.0sipHash64 と同様ですが、固定キーを使用する代わりに、明示的なキー引数を受け取ります。
構文
(k0, k1)— キーを表す 2 つの値のタプルです。Tuple(UInt64, UInt64)arg1[,arg2, ...]— 可変個の入力引数です。Any
UInt64
例
使用例
Query
Response
wordShingleMinHash
導入バージョン: v21.1.0 ASCII文字列をshinglesize 語からなるパーツ (シングル) に分割し、各ワードシングルのハッシュ値を計算して、それらのハッシュを含むタプルを返します。
最小ハッシュの計算には hashnum 個の最小ハッシュを、最大ハッシュの計算には hashnum 個の最大ハッシュを使用します。
大文字と小文字は区別されます。
tupleHammingDistance と組み合わせることで、類似した重複文字列を検出できます。
2つの文字列で返されるハッシュが同じであれば、それらの文字列は同一です。
構文
string— ハッシュを計算する対象の文字列。Stringshinglesize— 任意。ワードシングルのサイズです。1から25までの任意の値を指定できます。デフォルト値は3です。UInt8hashnum— 任意。結果の計算に使用する最小ハッシュと最大ハッシュの個数です。1から25までの任意の値を指定できます。デフォルト値は6です。UInt8
Tuple(UInt64, UInt64)
例
使用例
Query
Response
wordShingleMinHashArg
導入バージョン: v1.1.0 ASCII文字列をshinglesize 語ごとの部分 (ワードシングル) に分割し、同じ入力に対して wordShingleMinHash 関数で計算された、単語ハッシュの最小値と最大値に対応する ワードシングル を返します。
この関数は大文字と小文字を区別します。
構文
string— ハッシュを計算する文字列。Stringshinglesize— 省略可能。ワードシングルのサイズ。1から25までの任意の数値を指定します。デフォルト値は3です。UInt8hashnum— 省略可能。結果の計算に使用する最小ハッシュ数と最大ハッシュ数。1から25までの任意の数値を指定します。デフォルト値は6です。UInt8
hashnum 個のワードシングルを含む 2 つのタプルからなるタプルを返します。Tuple(Tuple(String))
例
使用例
Query
Response
wordShingleMinHashArgCaseInsensitive
導入バージョン: v21.1.0 ASCII 文字列をshinglesize 語ごとの部分 (ワードシングル) に分割し、同じ入力に対して wordShingleMinHashCaseInsensitive 関数で計算される単語 hash の最小値と最大値に対応する ワードシングル を返します。
大文字と小文字を区別しません。
構文
string— ハッシュを計算する対象の文字列。Stringshinglesize— 任意。ワードシングルのサイズ。1から25までの任意の値。デフォルト値は3です。UInt8hashnum— 任意。結果の計算に使用する最小ハッシュと最大ハッシュの数。1から25までの任意の値。デフォルト値は6です。UInt8
hashnum 個のワードシングルを含む 2 つのタプルからなるタプルを返します。Tuple(Tuple(String))
例
使用例
Query
Response
wordShingleMinHashArgCaseInsensitiveUTF8
導入バージョン: v21.1.0 UTF-8 文字列を、それぞれshinglesize 語からなる部分 (シングル) に分割し、同じ入力に対して wordShingleMinHashCaseInsensitiveUTF8 関数で計算された単語ハッシュの最小値および最大値に対応するシングルを返します。
大文字と小文字を区別しません。
構文
string— ハッシュを計算する文字列です。Stringshinglesize— 任意。ワードシングルのサイズです。1から25までの任意の数を指定できます。デフォルト値は3です。UInt8hashnum— 任意。結果の計算に使用する最小ハッシュと最大ハッシュの数です。1から25までの任意の数を指定できます。デフォルト値は6です。UInt8
hashnum 個のワードシングルを含む、2 つのタプルからなるタプルを返します。 Tuple(Tuple(String))
例
使用例
Query
Response
wordShingleMinHashArgUTF8
導入バージョン: v21.1.0 UTF-8文字列をshinglesize 語ずつの部分 (シングル) に分割し、同じ入力に対して wordShingleMinHashUTF8 関数で計算された単語 hash の最小値と最大値に対応するシングルを返します。
大文字と小文字を区別します。
構文
string— hash を計算する対象の文字列。Stringshinglesize— 任意。ワードシングルのサイズです。1から25までの任意の数値を指定できます。デフォルト値は3です。UInt8hashnum— 任意。結果の計算に使用する最小および最大の hash の数です。1から25までの任意の数値を指定できます。デフォルト値は6です。UInt8
hashnum 個のワードシングルを含む 2 つのタプルから成るタプルを返します。Tuple(Tuple(String))
例
使用例
Query
Response
wordShingleMinHashCaseInsensitive
導入バージョン: v21.1.0 ASCII文字列をshinglesize語からなる部分列 (シングル) に分割し、各ワードシングルのハッシュ値を計算して、そのハッシュ値のタプルを返します。
最小ハッシュの計算にはhashnum個の最小ハッシュを、最大ハッシュの計算にはhashnum個の最大ハッシュを使用します。
大文字と小文字を区別しません。
tupleHammingDistanceと組み合わせることで、準重複文字列の検出に使用できます。
2つの文字列で返されるハッシュ値が同じであれば、それらの文字列は同一です。
構文
string— ハッシュを計算する対象の文字列です。Stringshinglesize— 任意。ワードシングルのサイズです。1から25までの任意の数値を指定できます。デフォルト値は3です。UInt8hashnum— 任意。結果の計算に使用する最小ハッシュと最大ハッシュの数です。1から25までの任意の数値を指定できます。デフォルト値は6です。UInt8
Tuple(UInt64, UInt64)
例
使用例
Query
Response
wordShingleMinHashCaseInsensitiveUTF8
導入バージョン: v21.1.0 UTF-8文字列をshinglesize 語からなる部分 (シングル) に分割し、各ワードシングルのハッシュ値を計算して、それらのハッシュを含むタプルを返します。
hashnum 個の最小ハッシュを使って最小ハッシュを計算し、hashnum 個の最大ハッシュを使って最大ハッシュを計算します。
大文字と小文字を区別しません。
tupleHammingDistance と組み合わせることで、準重複文字列を検出できます。
2 つの文字列で返されるハッシュが同じであれば、それらの文字列は同一です。
構文
string— ハッシュを計算する文字列です。Stringshinglesize— 任意。ワードシングルのサイズです。1から25までの任意の数値を指定できます。デフォルト値は3です。UInt8hashnum— 任意。結果の計算に使用する最小ハッシュ数と最大ハッシュ数です。1から25までの任意の数値を指定できます。デフォルト値は6です。UInt8
Tuple(UInt64, UInt64)
例
使用例
Query
Response
wordShingleMinHashUTF8
導入バージョン: v21.1.0 UTF-8文字列をshinglesize語ごとの部分 (ワードシングル) に分割し、各ワードシングルのハッシュ値を計算して、それらのハッシュを含むタプルを返します。
最小ハッシュの計算にはhashnum個の最小ハッシュを、最大ハッシュの計算にはhashnum個の最大ハッシュを使用します。
大文字と小文字を区別します。
tupleHammingDistanceを使用して、類似した重複文字列を検出できます。
2つの文字列で返されるハッシュが同じであれば、それらの文字列は同一です。
構文
string— ハッシュを計算する対象の文字列。Stringshinglesize— 任意。ワードシングルのサイズです。1から25までの任意の数値を指定できます。デフォルト値は3です。UInt8hashnum— 任意。結果の計算に使用する最小ハッシュ値と最大ハッシュ値の数です。1から25までの任意の数値を指定できます。デフォルト値は6です。UInt8
Tuple(UInt64, UInt64)
例
使用例
Query
Response
wordShingleSimHash
導入バージョン: v21.1.0 ASCII文字列をshinglesize語単位の部分 (シングル) に分割し、ワードシングル simhash を返します。
大文字と小文字は区別されます。
bitHammingDistanceを使用して、類似文字列の検出に利用できます。
2つの文字列について計算されたsimhashesのハミング距離が小さいほど、それらの文字列が同一である可能性が高くなります。
構文
string— ハッシュを計算する文字列。Stringshinglesize— 省略可能。ワードシングルのサイズで、1から25までの任意の数値です。デフォルト値は3です。UInt8
UInt64
例
使用例
Query
Response
wordShingleSimHashCaseInsensitive
導入バージョン: v21.1.0 ASCII文字列をshinglesize語ごとの部分 (ワードシングル) に分割し、ワードシングルsimhashを返します。
大文字と小文字は区別されません。
bitHammingDistanceを使用して、類似文字列の検出に利用できます。
2つの文字列について計算されたsimhashesのハミング距離が小さいほど、それらの文字列が同一である可能性が高くなります。
構文
string— ハッシュを計算する文字列です。Stringshinglesize— 省略可。ワードシングルのサイズです。1から25までの任意の数値を指定できます。デフォルト値は3です。UInt8
UInt64
例
使用例
Query
Response
wordShingleSimHashCaseInsensitiveUTF8
導入バージョン: v1.1.0 UTF-8 でエンコードされた文字列をshinglesize 語ごとの部分 (シングル) に分割し、ワードシングル simhash を返します。
大文字と小文字は区別されません。
bitHammingDistance を使用すると、半重複文字列の検出に利用できます。
2 つの文字列について計算された simhashes の ハミング距離 が小さいほど、それらの文字列が同一である可能性が高くなります。
構文
string— ハッシュを計算する対象の文字列。Stringshinglesize— 任意。ワードシングルのサイズを指定します。1から25までの数値を指定でき、デフォルト値は3です。UInt8
UInt64
例
使用例
Query
Response
wordShingleSimHashUTF8
導入バージョン: v21.1.0 UTF-8文字列をshinglesize語ごとの部分 (shingle) に分割し、ワードシングルsimhashを返します。
大文字と小文字は区別されます。
bitHammingDistanceを使用して、準重複文字列の検出に利用できます。
2つの文字列で計算されたsimhashのハミング距離が小さいほど、それらの文字列が同一である可能性は高くなります。
構文
string— ハッシュを計算する文字列です。Stringshinglesize— 任意。ワードシングルのサイズです。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