الانتقال إلى المحتوى الرئيسي

المقدمة

تُعدّ تصفية جدول ClickHouse استنادًا إلى عمود مصفوفي مهمة شائعة، ويوفّر المنتج الكثير من الدوال للتعامل مع الأعمدة المصفوفية. في هذه المقالة، سنركّز على تصفية جدول استنادًا إلى عمود مصفوفي، لكن الفيديو أدناه يغطّي أيضًا العديد من الدوال الأخرى المرتبطة بالمصفوفات:

مثال

سنستخدم مثالًا لجدول يضم عمودين tags_string وtags_int يحتويان، على الترتيب، على مصفوفة من السلاسل النصية ومصفوفة من الأعداد الصحيحة.
  • أنشئ قاعدة بيانات وجدولًا تجريبيين.
  • أنشئ جدولًا تجريبيًا
  • أدرِج بعض البيانات التجريبية في الجدول.
صفِّ الجدول باستخدام الدالة has(arr, elem) لإرجاع الصفوف التي تحتوي فيها المصفوفة arr على العنصر elem. صفِّ الجدول لإرجاع الصفوف التي تحتوي فيها المصفوفة tags_string على العنصر tag1.
استخدم الدالة hasAll(arr, elems) لإرجاع الصفوف التي تكون فيها جميع عناصر المصفوفة elems موجودة في المصفوفة arr. صفِّ الجدول لإرجاع الصفوف التي تكون فيها جميع عناصر المصفوفة tags_string موجودة في المصفوفة ['tag1', 'tag2'].
استخدم الدالة hasAny(arr, elems) لإرجاع الصفوف التي تحتوي فيها المصفوفة arr على عنصر واحد على الأقل من المصفوفة elems. قم بتصفية الجدول لإرجاع الصفوف التي تحتوي فيها المصفوفة tags_string على عنصر واحد على الأقل من المصفوفة ['tag1', 'tag2'].
يمكننا استخدام دالة لامبدا لتصفية الجدول عبر الدالة arrayExists(lambda, arr). صفِّ الجدول بحيث يُرجِع الصفوف التي تكون فيها قيمة عنصر واحد على الأقل في المصفوفة tags_int أكبر من 3.
آخر تعديل في ٢٥ يونيو ٢٠٢٦