قيمة hash لـ NULL هي NULL. للحصول على قيمة hash غير NULL لعمود من النوع Nullable، لفّه داخل tuple:
لحساب قيمة hash لكامل محتويات table، استخدم
sum(cityHash64(tuple(*))) (أو أي دالة hash أخرى). تضمن tuple عدم تخطي الصفوف التي تحتوي على قيم NULL. وتضمن sum ألّا يؤثر ترتيب الصفوف.BLAKE3
قُدِّم في: v22.10.0 يحسب سلسلة تجزئة BLAKE3 ويُرجِع مجموعة البايتات الناتجة على هيئة FixedString. دُمجت دالة التجزئة التشفيرية هذه في ClickHouse باستخدام مكتبة BLAKE3 بلغة Rust. تتميز هذه الدالة بسرعة كبيرة نسبيًا، إذ تقدم أداءً أسرع بنحو الضعف مقارنةً بـ SHA-2، مع توليد قيم تجزئة بالطول نفسه مثل SHA-256. وتُرجِع دالة BLAKE3 قيمة تجزئة كمصفوفة بايتات من النوع FixedString(32). الصيغةmessage— سلسلة الإدخال المطلوب تجزئتها.String
FixedString(32)
أمثلة
hash
Query
Response
MD4
أُضيف في: v21.11.0 يحسب تجزئة MD4 للسلسلة النصية المعطاة. الصيغةs— سلسلة الإدخال المطلوب حساب قيمة hash لها.String
FixedString(16)
أمثلة
مثال على الاستخدام
Query
Response
MD5
أُضيف في: v1.1.0 يحسب قيمة hash MD5 للسلسلة النصية المُعطاة. الصيغةs— سلسلة الإدخال النصية المطلوب تجزئتها.String
FixedString(16)
أمثلة
مثال على الاستخدام
Query
Response
RIPEMD160
أُضيف في: v24.10.0 يحسب قيمة RIPEMD-160 hash للسلسلة النصية المُعطاة. البنيةs— سلسلة الإدخال المطلوب تجزئتها.String
FixedString(20)
أمثلة
مثال على الاستخدام
Query
Response
SHA1
أُضيفت في: v1.1.0 تحسب قيمة تجزئة SHA1 للسلسلة النصية المُعطاة. الصيغةs— سلسلة الإدخال النصية المراد تجزئتهاString
FixedString(20)
أمثلة
مثال على الاستخدام
Query
Response
SHA224
أُضيف في: v1.1.0 يحسب قيمة SHA224 hash للسلسلة النصية المُعطاة. الصيغة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 يحسب قيمة hash SHA512_256 للسلسلة النصية المُعطاة. البنيةs— سلسلة الإدخال المطلوب تجزئتها.String
FixedString(32)
أمثلة
مثال على الاستخدام
Query
Response
URLHash
أُضيفت في: v1.1.0 دالة hash سريعة وذات جودة مقبولة وغير مخصّصة للتشفير، تُحسب لسلسلة نصية مُستخرجة من URL باستخدام نوع من التطبيع. لهذه الدالة hash وضعان:
الصياغة
url. UInt64
أمثلة
مثال على الاستخدام
Query
Response
Query
Response
cityHash64
أُضيف في: v1.1.0 ينتج قيمة تجزئة CityHash بطول 64 بت. هذه دالة تجزئة سريعة وغير مشفّرة. تستخدم خوارزمية CityHash مع معاملات السلاسل النصية، وتستخدم دالة تجزئة سريعة وغير مشفّرة خاصة بالتنفيذ مع المعاملات ذات أنواع البيانات الأخرى. تستخدم الدالة combinator الخاص بـ CityHash للحصول على النتائج النهائية.غيّرت Google خوارزمية CityHash بعد إضافتها إلى ClickHouse.
وبعبارة أخرى، ينتج cityHash64 في ClickHouse وCityHash الأصلي من Google الآن نتائج مختلفة.
يتوافق cityHash64 في ClickHouse مع CityHash v1.0.2.
قد تتساوى قيم التجزئة المحسوبة لقيم الإدخال نفسها رغم اختلاف أنواع المعاملات.
وينطبق ذلك، على سبيل المثال، على أنواع الأعداد الصحيحة ذات الأحجام المختلفة، و
Tuple المسمّاة وغير المسمّاة التي تحتوي على البيانات نفسها، وMap ونوع Array(Tuple(key, value)) المقابل الذي يحتوي على البيانات نفسها.arg1[, arg2, ...]— عدد متغيّر من وسائط الإدخال المطلوب حساب قيمة التجزئة لها.Any
UInt64
أمثلة
مثال على الاستدعاء
Query
Response
Query
Response
farmFingerprint64
أُضيف في: v20.12.0 يُنتج قيمة FarmHash من 64 بت باستخدام الطريقةFingerprint64.
قد تتطابق قيم تجزئة المحسوبة لقيم الإدخال نفسها رغم اختلاف أنواع الوسائط.
وينطبق ذلك، على سبيل المثال، على أنواع الأعداد الصحيحة ذات الأحجام المختلفة، و
Tuple المسمّاة وغير المسمّاة التي تحتوي على البيانات نفسها، وMap ونوع Array(Tuple(key, value)) المقابل الذي يحتوي على البيانات نفسها.arg1[, arg2, ...]— عدد متغيّر من وسيطات الإدخال المطلوب حساب قيمة التجزئة لها.Any
UInt64
أمثلة
مثال على الاستخدام
Query
Response
farmHash64
أُضيف في: v1.1.0 ينتج قيمة FarmHash بطول 64 بت باستخدام الطريقةHash64.
قد تتطابق قيم التجزئة المحسوبة لقيم الإدخال نفسها حتى مع اختلاف أنواع الوسيطات.
وينطبق ذلك، على سبيل المثال، على أنواع الأعداد الصحيحة ذات الأحجام المختلفة، و
Tuple المسمّاة وغير المسمّاة التي تحتوي على البيانات نفسها، وMap ونوع Array(Tuple(key, value)) المقابل الذي يحتوي على البيانات نفسها.arg1[, arg2, ...]— عدد متغيّر من وسيطات الإدخال المراد حساب قيمة التجزئة لها.Any
UInt64
أمثلة
مثال على الاستخدام
Query
Response
gccMurmurHash
أُضيف في: v20.1.0 يحسب تجزئة MurmurHash2 ذات 64 بت لقيمة الإدخال باستخدام البذرة نفسها المستخدمة في GCC. وهو قابل للنقل بين إصدارات البناء الخاصة بـ Clang وGCC. الصياغةarg1[, arg2, ...]— عدد متغير من المعاملات المطلوب حساب قيمة التجزئة لها.Any
UInt64
أمثلة
مثال على الاستخدام
Query
Response
halfMD5
أُضيفت في: v1.1.0 تقوم بإعادة تفسير جميع معلمات الإدخال على أنها سلاسل نصية، وتحسب قيمة هاش MD5 لكل منها. ثم تدمج قيم الهاش، وتأخذ أول 8 بايت من هاش السلسلة الناتجة، وتعيد تفسيرها على أنها UInt64 بترتيب البايتات big-endian. هذه الدالة بطيئة نسبيًا (5 ملايين سلسلة قصيرة في الثانية لكل نواة معالج). يُفضَّل استخدام الدالةsipHash64 بدلًا منها.
تأخذ الدالة عددًا متغيرًا من معلمات الإدخال.
يمكن أن تكون الوسائط من أي من أنواع البيانات المدعومة.
بالنسبة إلى بعض أنواع البيانات، قد تتطابق القيمة المحسوبة لدالة الهاش للقيم نفسها حتى إذا اختلفت أنواع الوسائط (الأعداد الصحيحة ذات الأحجام المختلفة، وTuple المسمّاة وغير المسمّاة التي تحتوي على البيانات نفسها، وMap ونوع Array(Tuple(key, value)) المقابل الذي يحتوي على البيانات نفسها).
الصياغة
arg1[, arg2, ..., argN]— عدد متغيّر من الوسائط المطلوب حساب قيمة التجزئة لها.Any
UInt64 بترتيب البايتات big-endian. UInt64
أمثلة
مثال على الاستخدام
Query
Response
hiveHash
قُدِّم في: v20.1.0 يحسب قيمة “HiveHash” من سلسلة نصية. وهو ببساطةJavaHash مع تصفير بتات الإشارة.
تُستخدم هذه الدالة في Apache Hive للإصدارات السابقة لـ 3.0.
الصياغة
arg— سلسلة الإدخال المراد حساب hash لها.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 يحسب قيمة hash من 32 بتًا لعدد صحيح. دالة الـ hash سريعة نسبيًا، لكنها ليست دالة hash تشفيرية. البنيةarg— عدد صحيح يُراد تجزئته.(U)Int*
UInt32
أمثلة
مثال على الاستخدام
Query
Response
intHash64
أُضيف في: v1.1.0 يحسب قيمة hash من نوع 64-bit لعدد صحيح. تُعد دالة hash هذه سريعة نسبيًا (وأسرع حتى منintHash32)، لكنها ليست دالة hash تشفيرية.
الصياغة
int— عدد صحيح لإجراء التجزئة عليه.(U)Int*
UInt64
أمثلة
مثال على الاستخدام
Query
Response
javaHash
أُضيف في: v20.1.0 يحسب قيمة JavaHash لـ:لا تدعم Java سوى حساب hash للأعداد الصحيحة الموقعة،
لذا إذا أردت حساب hash للأعداد الصحيحة غير الموقعة، فيجب تحويلها إلى أنواع ClickHouse الموقعة المناسبة.
arg— قيمة الإدخال المطلوب تجزئتها.Any
arg Int32
أمثلة
مثال استخدام 1
Query
Response
Query
Response
javaHashUTF16LE
أُضيفت في: v20.1.0 يحسب JavaHash من سلسلة نصية، بافتراض أنها تتضمن بايتات تمثل سلسلة نصية بترميز UTF-16LE. الصيغةarg— سلسلة بترميز UTF-16LE.String
Int32
أمثلة
مثال استخدام
Query
Response
jumpConsistentHash
أُضيفت في: v1.1.0 يحسب التجزئة المتسقة بالقفز لعدد صحيح. الصيغةInt32
أمثلة
مثال على الاستخدام
Query
Response
kafkaMurmurHash
أُضيف في: v23.4.0 يحسب تجزئة MurmurHash2 ذات 32 بت لقيمة الإدخال باستخدام نفسseed المستخدم في Kafka، ومن دون أعلى بت، ليكون متوافقًا مع Default Partitioner.
الصيغة
arg1[, arg2, ...]— عدد متغيّر من المعاملات المطلوب حساب قيمة التجزئة لها.Any
UInt32
أمثلة
مثال على الاستخدام
Query
Response
keccak256
أُضيف في: v25.4.0 يحسب التجزئة التشفيرية Keccak-256 للسلسلة النصية المعطاة. تُستخدم دالة التجزئة هذه على نطاق واسع في تطبيقات البلوك تشين، وخصوصًا Ethereum. الصياغةmessage— سلسلة الإدخال المطلوب حساب hash لها.String
FixedString(32)
أمثلة
مثال استخدام
Query
Response
kostikConsistentHash
أُضيف في: v22.6.0 خوارزمية تجزئة متسقة بزمن ومساحة O(1) طوّرها Konstantin ‘Kostik’ Oblakov. تكون فعّالة فقط عندما يكونn <= 32768.
الصياغة
yandexConsistentHash
المعاملات
القيمة المُعادة
يعيد قيمة التجزئة المحسوبة. UInt16
أمثلة
مثال على الاستخدام
Query
Response
metroHash64
أُضيف في: v1.1.0 ينتج قيمة hash من MetroHash بطول 64 بت.قد تتطابق قيم hash المحسوبة لقيم الإدخال نفسها حتى مع اختلاف أنواع argument.
وينطبق ذلك، على سبيل المثال، على أنواع الأعداد الصحيحة ذات الأحجام المختلفة، و
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 يحسب قيمة تجزئة MurmurHash3 بطول 128 بت لقيمة الإدخال. الصيغةarg1[, arg2, ...]— عدد متغيّر من وسائط الإدخال المطلوب حساب قيمة التجزئة لها.Any
MurmurHash3 المحسوبة بطول 128 بت لوسائط الإدخال. 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 إلى مقاطع n-gram تتكوّن منngramsize رموز، وتحسب قيم hash لكل n-gram، ثم تُرجع tuple يحتوي على هذه القيم.
وتستخدم hashnum من أصغر قيم hash لحساب أقل hash، وhashnum من أكبر قيم hash لحساب أكبر hash.
وهي تراعي حالة الأحرف.
يمكن استخدامها لاكتشاف السلاسل شبه المتطابقة باستخدام tupleHammingDistance.
وبالنسبة إلى سلسلتين، إذا كانت قيم hash المُرجعة متطابقة في كلتيهما، فإن هاتين السلسلتين متطابقتان.
الصياغة
string— السلسلة النصية التي تُحسب لها قيمةhash.Stringngramsize— اختياري. حجمn-gram، وأي قيمة من1إلى25. القيمة الافتراضية هي3.UInt8hashnum— اختياري. عدد قيمhashالدنيا والعليا المستخدمة لحساب النتيجة، وأي قيمة من1إلى25. القيمة الافتراضية هي6.UInt8
Tuple تحتوي على قيمتي hash — الصغرى والكبرى. Tuple
أمثلة
مثال على الاستخدام
Query
Response
ngramMinHashArg
طُرح في: v21.1.0 يقسّم سلسلة ASCII إلى n-grams منngramsize رمزًا، ويُرجع n-grams ذات أصغر وأكبر قيم hash، كما تحسبها الدالة ngramMinHash للمدخل نفسه.
وهي حساسة لحالة الأحرف.
البنية
string— السلسلة المراد حساب قيمة التجزئة لها.Stringngramsize— اختياري. حجمn-gram، أي عدد من1إلى25. القيمة الافتراضية هي3.UInt8hashnum— اختياري. عدد قيم التجزئة الدنيا والعليا المستخدمة لحساب النتيجة، أي عدد من1إلى25. القيمة الافتراضية هي6.UInt8
hashnum من n-grams. Tuple(String)
أمثلة
مثال على الاستخدام
Query
Response
ngramMinHashArgCaseInsensitive
أُضيفت في: v21.1.0 تقسم سلسلة ASCII إلى n-grams منngramsize رموز، وتُرجِع قيم n-grams ذات أصغر وأكبر hash كما تحسبها الدالة ngramMinHashCaseInsensitive للمدخل نفسه.
وهي غير حساسة لحالة الأحرف.
البنية
string— سلسلة نصية يُراد حساب قيمةhashلها.Stringngramsize— اختياري. حجمn-gram، أي عدد من1إلى25. القيمة الافتراضية هي3.UInt8hashnum— اختياري. عدد قيمhashالصغرى والكبرى المستخدمة لحساب النتيجة، أي عدد من1إلى25. القيمة الافتراضية هي6.UInt8
Tuple تحتوي على قيمتين من النوع Tuple، في كلٍّ منهما hashnum من n-grams. Tuple(Tuple(String))
أمثلة
مثال على الاستخدام
Query
Response
ngramMinHashArgCaseInsensitiveUTF8
أُضيفت في: v21.1.0 تُقسِّم سلسلة UTF-8 إلى مقاطع n-gram منngramsize رمزًا، وتُرجع مقاطع n-gram ذات قيم hash الصغرى والكبرى، كما تحسبها الدالة ngramMinHashCaseInsensitiveUTF8 باستخدام المُدخل نفسه.
وهي غير حساسة لحالة الأحرف.
الصيغة
string— سلسلة نصية يُراد حساب قيمة التجزئة لها.Stringngramsize— اختياري. حجمn-gram، ويمكن أن يكون أي عدد من1إلى25. القيمة الافتراضية هي3.UInt8hashnum— اختياري. عدد قيم التجزئة الصغرى والكبرى المستخدمة لحساب النتيجة، ويمكن أن يكون أي عدد من1إلى25. القيمة الافتراضية هي6.UInt8
hashnum من n-grams. Tuple(Tuple(String))
أمثلة
مثال على الاستخدام
Query
Response
ngramMinHashArgUTF8
قُدِّم في: v21.1.0 يقسّم سلسلة UTF-8 إلى n-grams منngramsize رمزًا، ويُرجع قيم n-grams ذات أدنى وأعلى hash، كما تحسبها الدالة ngramMinHashUTF8 للإدخال نفسه.
وهي حساسة لحالة الأحرف.
البنية
string— السلسلة النصية التي سيتم حساب قيمة التجزئة لها.Stringngramsize— اختياري. حجمn-gram، ويمكن أن يكون أي رقم من1إلى25. القيمة الافتراضية هي3.UInt8hashnum— اختياري. عدد قيم التجزئة الصغرى والكبرى المستخدمة لحساب النتيجة، ويمكن أن يكون أي رقم من1إلى25. القيمة الافتراضية هي6.UInt8
hashnum من n-grams. Tuple(Tuple(String))
أمثلة
مثال على الاستخدام
Query
Response
ngramMinHashCaseInsensitive
أُضيفت في: v21.1.0 تُقسِّم سلسلة ASCII إلى n-grams منngramsize رموز، وتحسب قيم hash لكل n-gram، وتُرجع Tuple بهذه الـ hashes.
وتستخدم hashnum من أقل قيم hash لحساب أدنى hash، وhashnum من أكبر قيم hash لحساب أقصى hash.
وهي غير حساسة لحالة الأحرف.
يمكن استخدامها لاكتشاف السلاسل شبه المتطابقة باستخدام tupleHammingDistance.
بالنسبة إلى سلسلتين، إذا كانت الـ hashes المُعادة متطابقة في كلتا السلسلتين، فهذا يعني أن السلسلتين متطابقتان.
الصياغة
string— سلسلة نصية. String. -ngramsize— حجم الـ n-gram. اختياري. القيم الممكنة: أي رقم من1إلى25. القيمة الافتراضية:3. UInt8. -hashnum— عدد قيمتي hash الصغرى والكبرى المستخدمتين لحساب النتيجة. اختياري. القيم الممكنة: أي رقم من1إلى25. القيمة الافتراضية:6. UInt8.
Tuple
أمثلة
مثال على الاستخدام
Query
Response
ngramMinHashCaseInsensitiveUTF8
قُدِّمت في: v21.1.0 تُقسِّم سلسلة UTF-8 إلى n-grams منngramsize رموز، وتحسب قيم hash لكل n-gram، ثم تُرجع Tuple تحتوي على هذه الـ hashes.
وتستخدم hashnum من أصغر قيم hash لحساب الحد الأدنى للـ hash، وhashnum من أكبر قيم hash لحساب الحد الأقصى للـ hash.
وهي غير حساسة لحالة الأحرف.
يمكن استخدامها لاكتشاف السلاسل شبه المتطابقة باستخدام tupleHammingDistance.
وبالنسبة إلى سلسلتين، إذا كانت الـ hashes المُعادة متطابقة في كلتا السلسلتين، فإن هاتين السلسلتين متطابقتان.
البنية
string— سلسلة نصية يُحسَب لها hash.Stringngramsize— اختياري. حجمn-gram، أي عدد من1إلى25. القيمة الافتراضية هي3.UInt8hashnum— اختياري. عدد قيم hash الصغرى والكبرى المستخدمة لحساب النتيجة، أي عدد من1إلى25. القيمة الافتراضية هي6.UInt8
Tuple تحتوي على قيمتي hash — الصغرى والكبرى.
أمثلة
مثال على الاستخدام
Query
Response
ngramMinHashUTF8
أُضيفت في: v21.1.0 تُقسِّم سلسلة UTF-8 إلى n-grams مكوّنة منngramsize رمزًا، وتحسب قيم hash لكل n-gram، ثم تُرجع tuple تحتوي على هذه الـhashes.
وتستخدم hashnum من أصغر قيم hash لحساب أقل hash، وhashnum من أكبر قيم hash لحساب أكبر hash.
وهي حساسة لحالة الأحرف.
يمكن استخدامها لاكتشاف السلاسل شبه المتطابقة باستخدام tupleHammingDistance.
وبالنسبة إلى سلسلتين، إذا كانت الـhashes المُرجعة متطابقة في كلتا السلسلتين، فإن هاتين السلسلتين تكونان متطابقتين.
البنية
string— السلسلة النصية المطلوب حسابhashلها.Stringngramsize— اختياري. حجمn-gram، وأي قيمة من1إلى25. القيمة الافتراضية هي3.UInt8hashnum— اختياري. عدد قيمhashالصغرى والكبرى المستخدمة لحساب النتيجة، وأي قيمة من1إلى25. القيمة الافتراضية هي6.UInt8
Tuple تحتوي على قيمتي hash — الصغرى والكبرى. Tuple
أمثلة
مثال استخدام
Query
Response
ngramSimHash
أُضيفت في: v21.1.0 تقسّم سلسلة ASCII إلى مقاطع n-gram مكوّنة منngramsize رمزًا، وتُرجع قيمة simhash الخاصة بـ n-gram.
يمكن استخدامها لاكتشاف السلاسل شبه المتطابقة باستخدام bitHammingDistance.
وكلما كانت مسافة هامينغ بين قيم simhashes المحسوبة لسلسلتين أصغر، زاد احتمال أن تكون هاتان السلسلتان متماثلتين.
البنية
string— سلسلة نصية يُحسَب لهاsimhashمع مراعاة حالة الأحرف.Stringngramsize— اختياري. حجمn-gram، وأي قيمة من1إلى25. القيمة الافتراضية هي3.UInt8
hash المحسوب لسلسلة الإدخال. UInt64
أمثلة
مثال على الاستخدام
Query
Response
ngramSimHashCaseInsensitive
أُضيفت في: v21.1.0 تقسّم سلسلة ASCII إلى n-grams مكوّنة منngramsize رموز وتُرجع قيمة simhash الخاصة بها.
وهي غير حساسة لحالة الأحرف.
يمكن استخدامها لاكتشاف السلاسل شبه المتطابقة باستخدام bitHammingDistance.
وكلما صغرت مسافة هامنغ لقيم simhashes المحسوبة لسلسلتين، زاد احتمال أن تكون هاتان السلسلتان متماثلتين.
البنية
string— السلسلة النصية التي يُحسب لهاsimhashغير الحساس لحالة الأحرف.Stringngramsize— اختياري. حجمn-gram، أي عدد من1إلى25. القيمة الافتراضية هي3.UInt8
UInt64
أمثلة
مثال على الاستخدام
Query
Response
ngramSimHashCaseInsensitiveUTF8
متوفرة منذ: v21.1.0 تُقسِّم سلسلة نصية بتشفير UTF-8 إلى n-grams من رموزngramsize وتُرجع simhash الخاص بـ n-gram.
وهي غير حساسة لحالة الأحرف.
يمكن استخدامها لاكتشاف السلاسل شبه المكررة باستخدام bitHammingDistance. وكلما صغرت مسافة Hamming بين قيم simhashes المحسوبة لسلسلتين، زاد احتمال أن تكونا متطابقتين.
الصياغة
string— السلسلة النصية المراد حساب قيمة التجزئة لها.Stringngramsize— اختياري. حجمn-gram، أي عدد من1إلى25. القيمة الافتراضية هي3.UInt8
UInt64
أمثلة
مثال على الاستخدام
Query
Response
ngramSimHashUTF8
أُضيف في: v21.1.0 يُقسِّم سلسلة مُرمَّزة بترميز UTF-8 إلى وحدات n-gram منngramsize رمزًا، ويُرجع simhash الخاص بها.
وهو حساس لحالة الأحرف.
يمكن استخدامه لاكتشاف السلاسل شبه المكررة باستخدام bitHammingDistance.
وكلما صغرت مسافة هامينغ بين قيم simhash المحسوبة لسلسلتين، زادت احتمالية أن تكونا متماثلتين.
البنية
string— سلسلة نصية يُحسب لهاhash.Stringngramsize— اختياري. حجمn-gram، وهو أي رقم من1إلى25. القيمة الافتراضية هي3.UInt8
hash المحسوبة. UInt64
أمثلة
مثال على الاستخدام
Query
Response
sipHash128
أُضيف في: v1.1.0 يشبهsipHash64، لكنه يُنتج قيمة تجزئة بطول 128 بت، أي إن حالة xor-folding النهائية تُحسب حتى 128 بت.
الصيغة
arg1[, arg2, ...]— عدد متغيّر من وسيطات الإدخال التي تُحسَب لها قيمة التجزئة.Any
SipHash بطول 128 بت. FixedString(16)
أمثلة
مثال على الاستخدام
Query
Response
sipHash128Keyed
أُضيف في: v23.2.0 مماثل لـsipHash128، لكنه يأخذ أيضًا وسيطة مفتاح صريحة بدلًا من استخدام مفتاح ثابت.
الصيغة
(k0, k1)— Tuple من قيمتَي UInt64 يمثّل المفتاح.Tuple(UInt64, UInt64)arg1[, arg2, ...]— عدد متغيّر من وسيطات الإدخال التي تُحسب لها قيمة التجزئة.Any
SipHash بطول 128 بت من النوع FixedString(16). FixedString(16)
أمثلة
مثال على الاستخدام
Query
Response
sipHash128Reference
أُضيفت في: v23.2.0 مثلsipHash128، لكنه يطبّق خوارزمية 128 بت الخاصة بالمؤلفين الأصليين لـ SipHash.
الصياغة
arg1[, arg2, ...]— عدد متغيّر من معاملات الإدخال التي تُحسب لها قيمة التجزئة.Any
SipHash محسوبة بطول 128 بت لمعاملات الإدخال. FixedString(16)
أمثلة
مثال على الاستخدام
Query
Response
sipHash128ReferenceKeyed
أُضيف في: v23.2.0 مماثلة لـsipHash128Reference، لكنها تأخذ أيضًا وسيطة مفتاح صريحة بدلًا من استخدام مفتاح ثابت.
البنية
(k0, k1)—Tupleمن قيمتين تمثلان المفتاحTuple(UInt64, UInt64)arg1[, arg2, ...]— عدد متغير من معاملات الإدخال المطلوب حساب التجزئة لها.Any
SipHash المحسوبة بطول 128 بت لمعاملات الإدخال. FixedString(16)
أمثلة
مثال على الاستخدام
Query
Response
sipHash64
أُضيف في: v1.1.0 ينتج قيمة تجزئة SipHash بطول 64 بت. هذه دالة تجزئة تشفيرية. وهي تعمل بسرعة تزيد ثلاث مرات على الأقل عن دالة التجزئةMD5.
تتعامل الدالة interprets مع جميع معلمات الإدخال على أنها سلاسل نصية، وتحسب قيمة تجزئة لكل واحدة منها.
ثم تدمج قيم التجزئة باستخدام الخوارزمية التالية:
- تُدمَج قيمتا التجزئة الأولى والثانية في مصفوفة، ثم تُحسَب لهما قيمة تجزئة.
- تُحسَب قيمة التجزئة المحسوبة سابقًا وقيمة تجزئة معلمة الإدخال الثالثة بطريقة مماثلة.
- يتكرر هذا الحساب مع جميع قيم التجزئة المتبقية من الإدخال الأصلي.
قد تتساوى قيم التجزئة المحسوبة لقيم الإدخال نفسها رغم اختلاف أنواع الوسائط.
ويؤثر ذلك، على سبيل المثال، في أنواع الأعداد الصحيحة ذات الأحجام المختلفة، و
Tuple المسمّى وغير المسمّى الذي يحتوي على البيانات نفسها، وMap والنوع المقابل Array(Tuple(key, value)) الذي يحتوي على البيانات نفسها.arg1[, arg2, ...]— عدد متغير من وسيطات الإدخال.Any
UInt64
أمثلة
مثال على الاستخدام
Query
Response
sipHash64Keyed
أُضيف في: v23.2.0 يشبهsipHash64، لكنه يأخذ أيضًا وسيطة مفتاح صريحة بدلًا من استخدام مفتاح ثابت.
الصيغة
(k0, k1)— زوجTupleمن قيمتين يمثّل المفتاح.Tuple(UInt64, UInt64)arg1[,arg2, ...]— عدد متغير من وسيطات الإدخال.Any
UInt64
أمثلة
مثال على الاستخدام
Query
Response
wordShingleMinHash
أُضيفت في: v21.1.0 تُقسِّم سلسلة ASCII إلى أجزاء (shingles) تتألف منshinglesize كلمات، وتحسب قيم hash لكل shingle كلمات وتُرجع Tuple بهذه القيم.
وتستخدم hashnum من أقل قيم hash لحساب أقل hash، وhashnum من أكبر قيم hash لحساب أكبر hash.
وهي حساسة لحالة الأحرف.
يمكن استخدامها لاكتشاف السلاسل شبه المتطابقة باستخدام tupleHammingDistance.
وبالنسبة إلى سلسلتين، إذا كانت قيم hash المُعادة متطابقة لكلتا السلسلتين، فهذا يعني أن السلسلتين متطابقتان.
الصيغة
string— السلسلة النصية المطلوب حساب قيمةhashلها.Stringshinglesize— اختياري. حجمword shingle، وأي قيمة من1إلى25. القيمة الافتراضية هي3.UInt8hashnum— اختياري. عدد قيمhashالصغرى والكبرى المستخدمة لحساب النتيجة، وأي قيمة من1إلى25. القيمة الافتراضية هي6.UInt8
Tuple يحتوي على قيمتي hash — الصغرى والكبرى. Tuple(UInt64, UInt64)
أمثلة
مثال على الاستخدام
Query
Response
wordShingleMinHashArg
أُضيف في: v1.1.0 يقسم سلسلة ASCII إلى أجزاء (shingles)، يتكوّن كل جزء منها من shinglesize كلمات، ويُرجع أجزاء shingles ذات الحد الأدنى والأقصى من قيم hash للكلمات، كما تحتسبها الدالة wordShingleMinHash باستخدام الإدخال نفسه.
وهي حساسة لحالة الأحرف.
الصيغة
string— سلسلة نصية تُحسب لها قيمة التجزئة.Stringshinglesize— اختياري. حجم مقطع الكلمات، أي رقم من1إلى25. القيمة الافتراضية هي3.UInt8hashnum— اختياري. عدد قيم التجزئة الدنيا والعليا المستخدمة لحساب النتيجة، أي رقم من1إلى25. القيمة الافتراضية هي6.UInt8
Tuple يحتوي على اثنين من Tuple، يحتوي كل منهما على hashnum من مقاطع الكلمات. Tuple(Tuple(String))
أمثلة
مثال على الاستخدام
Query
Response
wordShingleMinHashArgCaseInsensitive
أُضيفت في: v21.1.0 تُقسِّم سلسلة ASCII إلى أجزاء (shingles) يتكوّن كل جزء منها منshinglesize كلمات، وتُرجع الـ shingles ذات أقل وأكبر قيم hash للكلمات، كما تحسبها الدالة wordShingleMinHashCaseInsensitive باستخدام الإدخال نفسه.
وهي لا تراعي حالة الأحرف.
الصيغة
string— سلسلة نصية تُحسب لها قيمة التجزئة.Stringshinglesize— اختياري. حجم شينغل الكلمات، أي رقم من1إلى25. القيمة الافتراضية هي3.UInt8hashnum— اختياري. عدد أقل وأعلى قيم التجزئة المستخدمة لحساب النتيجة، أي رقم من1إلى25. القيمة الافتراضية هي6.UInt8
hashnum من شينغل الكلمات. Tuple(Tuple(String))
أمثلة
مثال على الاستخدام
Query
Response
wordShingleMinHashArgCaseInsensitiveUTF8
أُضيف في: v21.1.0 تقسم سلسلة UTF-8 إلى أجزاء (shingles) يتألف كل منها منshinglesize كلمة، وتُرجع الـ shingles ذات أدنى وأعلى قيم hash للكلمات، كما تحسبها الدالة wordShingleMinHashCaseInsensitiveUTF8 للمدخل نفسه.
وهي غير حساسة لحالة الأحرف.
البنية
string— سلسلة نصية يُراد حساب قيمة التجزئة لها.Stringshinglesize— اختياري. حجم تتابع الكلمات، وأي رقم من1إلى25. القيمة الافتراضية هي3.UInt8hashnum— اختياري. عدد قيم التجزئة الصغرى والكبرى المستخدمة لحساب النتيجة، وأي رقم من1إلى25. القيمة الافتراضية هي6.UInt8
hashnum من تتابعات الكلمات. Tuple(Tuple(String))
أمثلة
مثال على الاستخدام
Query
Response
wordShingleMinHashArgUTF8
أُضيف في: v21.1.0 يقسّم سلسلة UTF-8 إلى مقاطع (shingles)، يتألف كل منها منshinglesize كلمات، ويُرجع الـ shingles ذات أصغر وأكبر hash للكلمات، كما تحسبها الدالة wordShingleMinHashUTF8 باستخدام المُدخل نفسه.
وهي حساسة لحالة الأحرف.
الصياغة
string— سلسلة نصية يُحسب لهاhash.Stringshinglesize— اختياري. حجم شينغل الكلمات، أي عدد من1إلى25. القيمة الافتراضية هي3.UInt8hashnum— اختياري. عدد قيمhashالصغرى والكبرى المستخدمة لحساب النتيجة، أي عدد من1إلى25. القيمة الافتراضية هي6.UInt8
Tuple تحتوي على Tupleين، يضم كلٌّ منهما hashnum من شينغل الكلمات. Tuple(Tuple(String))
أمثلة
مثال على الاستخدام
Query
Response
wordShingleMinHashCaseInsensitive
أُضيفت في: v21.1.0 تُقسِّم سلسلة ASCII إلى أجزاء (shingles) منshinglesize كلمات، وتحسب قيم hash لكل word shingle وتُرجع tuple بهذه القيم.
وتستخدم أقل hashnum من قيم hash لحساب قيمة hash الدنيا، وأعلى hashnum من قيم hash لحساب قيمة hash القصوى.
وهي غير حساسة لحالة الأحرف.
يمكن استخدامها لاكتشاف السلاسل شبه المكررة باستخدام tupleHammingDistance.
وبالنسبة إلى سلسلتين، إذا كانت قيم hash المُعادة متطابقة لكلتا السلسلتين، فإن هاتين السلسلتين متطابقتان.
البنية
string— سلسلة نصية يُحسَب لهاhash.Stringshinglesize— اختياري. حجمword shingle، أي عدد من1إلى25. القيمة الافتراضية هي3.UInt8hashnum— اختياري. عدد قيمhashالصغرى والكبرى المستخدمة في حساب النتيجة، أي عدد من1إلى25. القيمة الافتراضية هي6.UInt8
Tuple تضم قيمتي hash — الصغرى والكبرى. Tuple(UInt64, UInt64)
أمثلة
مثال على الاستخدام
Query
Response
wordShingleMinHashCaseInsensitiveUTF8
أُضيفت في: v21.1.0 تقسّم سلسلة UTF-8 إلى أجزاء (shingles) يتكوّن كل منها منshinglesize كلمات، وتحسب قيم hash لكل word shingle وتُرجع Tuple يحتوي على هذه القيم.
وتستخدم hashnum من أصغر قيم hash لحساب الحد الأدنى للـhash، وhashnum من أكبر قيم hash لحساب الحد الأقصى للـhash.
وهي غير حساسة لحالة الأحرف.
يمكن استخدامها لاكتشاف السلاسل شبه المتطابقة باستخدام tupleHammingDistance.
وبالنسبة إلى سلسلتين، إذا كانت قيم hash المُعادة متطابقة لكليهما، فإن هاتين السلسلتين متطابقتان.
البنية
string— قيمة String يُراد حسابhashلها.Stringshinglesize— اختياري. حجمword shingle، وهو أي رقم من1إلى25. القيمة الافتراضية هي3.UInt8hashnum— اختياري. عدد قيمhashالصغرى والكبرى المستخدمة لحساب النتيجة، وهو أي رقم من1إلى25. القيمة الافتراضية هي6.UInt8
hash — الصغرى والكبرى. Tuple(UInt64, UInt64)
أمثلة
مثال على الاستخدام
Query
Response
wordShingleMinHashUTF8
أُضيف في: v21.1.0 يُقسِّم سلسلة UTF-8 إلى مقاطع (shingles) تتكوّن من shinglesize كلمات، ويحسب قيم hash لكل word shingle ويُرجع tuple يحتوي على قيم hash هذه.
ويستخدم أصغر hashnum من قيم hash لحساب الحد الأدنى لـ hash، وأكبر hashnum من قيم hash لحساب الحد الأقصى لـ hash.
وهو حسّاس لحالة الأحرف.
يمكن استخدامه لاكتشاف السلاسل شبه المتطابقة باستخدام tupleHammingDistance.
بالنسبة إلى سلسلتين، إذا كانت قيم hash المُعادة متطابقة لكليهما، فهذا يعني أن السلسلتين متطابقتان.
البنية
string— سلسلة نصية يُحسَب لها hash.Stringshinglesize— اختياري. حجمword shingle، أي عدد من1إلى25. القيمة الافتراضية هي3.UInt8hashnum— اختياري. عدد قيم hash الدنيا والعليا المستخدمة لحساب النتيجة، أي عدد من1إلى25. القيمة الافتراضية هي6.UInt8
Tuple(UInt64, UInt64)
أمثلة
مثال على الاستخدام
Query
Response
wordShingleSimHash
أُضيفت في: v21.1.0 تُقسِّم سلسلة ASCII إلى مقاطع (shingles) من shinglesize كلمات وتُرجع simhash لشينغل الكلمات.
وهي حساسة لحالة الأحرف.
يمكن استخدامها لاكتشاف السلاسل شبه المتطابقة باستخدام bitHammingDistance.
كلما صغرت مسافة هامينغ بين قيم simhash المحسوبة لسلسلتين، زاد احتمال أن تكون هاتان السلسلتان متماثلتين.
الصيغة
string— سلسلة تُحسب لها قيمة التجزئة.Stringshinglesize— اختياري. حجم مجموعة كلمات متجاورة، أي قيمة من1إلى25. القيمة الافتراضية هي3.UInt8
UInt64
أمثلة
مثال على الاستخدام
Query
Response
wordShingleSimHashCaseInsensitive
قُدِّمت في: v21.1.0 تقسّم سلسلة ASCII إلى أجزاء (shingles)، يتكوّن كل منها منshinglesize كلمات، وتُرجع قيمة simhash الخاصة بـ word shingle.
وهي غير حساسة لحالة الأحرف.
يمكن استخدامها لاكتشاف السلاسل شبه المتطابقة باستخدام bitHammingDistance.
وكلما صغرت مسافة هامنغ بين قيم simhashes المحسوبة لسلسلتين، زاد احتمال أن تكونا متماثلتين.
الصياغة
string— السلسلة النصية المراد حساب قيمة التجزئة لها.Stringshinglesize— اختياري. حجمword shingle، ويمكن أن يكون أي رقم من1إلى25. القيمة الافتراضية هي3.UInt8
UInt64
أمثلة
مثال على الاستخدام
Query
Response
wordShingleSimHashCaseInsensitiveUTF8
أُضيفت في: v1.1.0 تقسّم سلسلة نصية بترميز UTF-8 إلى أجزاء (shingles) منshinglesize كلمات، وتُرجع simhash لـ word shingle.
وهي غير حساسة لحالة الأحرف.
يمكن استخدامها لاكتشاف السلاسل شبه المتطابقة باستخدام bitHammingDistance.
وكلما صغرت مسافة Hamming المحسوبة لـ simhashes الخاصتين بسلسلتين، زاد احتمال أن تكون هاتان السلسلتان متطابقتين.
الصيغة
string— السلسلة النصية المراد حساب قيمة التجزئة لها.Stringshinglesize— اختياري. حجم تسلسل الكلمات المتجاورة، أي عدد من1إلى25. القيمة الافتراضية هي3.UInt8
UInt64
أمثلة
مثال على الاستخدام
Query
Response
wordShingleSimHashUTF8
أُضيفت في: v21.1.0 تقسّم سلسلة UTF-8 إلى أجزاء (shingles) مكوّنة منshinglesize كلمات، وتُرجع simhash لـ word shingle.
وهي case sensitive.
يمكن استخدامها لاكتشاف semi-duplicate strings باستخدام bitHammingDistance.
وكلما صغرت Hamming distance لقيم simhashes المحسوبة لسلسلتين، زاد احتمال أن تكون هاتان السلسلتان متماثلتين.
الصيغة
string— السلسلة النصية المطلوب حساب قيمة التجزئة لها.Stringshinglesize— اختياري. حجم مجموعة كلمات متجاورة، أي رقم من1إلى25. القيمة الافتراضية هي3.UInt8
UInt64
أمثلة
مثال على الاستخدام
Query
Response
wyHash64
أُضيف في: v22.7.0 يحسب قيمة هاش 64 بت باستخدام wyHash64. الصيغةarg— وسيط من النوع String تُحسَب له قيمةhash.String
hash محسوبة بطول 64 بت من النوع 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 يحسب xxHash لسلسلة نصية باستخدام نفس البذرة المستخدمة في Spark. هذه الدالة مماثلة لـxxHash64، لكنها تستخدم البذرة 42 وتُرجع النتيجة كقيمة من النوع Int64.
لا يدعم سوى المُدخلات من النوع String وNULL.
في حالة NULL، تُرجع الدالة القيمة 42، بما يتوافق مع سلوك البذرة في Spark.
الصيغة
arg— سلسلة الإدخال المطلوب تجزئتها.String
Int64
أمثلة
مثال على الاستخدام
Query
Response
xxh3
استُحدثت في: v22.12.0 تحسب قيمة تجزئة XXH3 بطول 64 بت. البنيةexpr— قائمة من التعبيرات من أي نوع بيانات.Any
xxh3 المحسوبة ذات 64 بت UInt64
أمثلة
مثال على الاستخدام
Query
Response
xxh3_128
استُحدث في: v26.2.0 يحسب قيمة تجزئة XXH3 بطول 128 بت. الصيغةexpr— قائمة بالتعبيرات من أي نوع بيانات.Any
xxh3 المحسوبة بطول 128 بت UInt128
أمثلة
مثال على الاستخدام
Query
Response