مشاركة عبر


bitmap_or_agg الدالة التجميعية

ينطبق على: وضع علامة Databricks SQL وضع علامة Databricks Runtime 13.3 LTS وما فوق

إرجاع البت OR لكافة BINARY قيم الإدخال في المجموعة.

تستخدم الدالة بشكل شائع لحساب عدد الأرقام المتكاملة المميزة مع الدالات bitmap_bucket_number()، bitmap_count()، bitmap_bit_position()، bitmap_construct_agg().

لتجميع النقط في شكل أرقام متكاملة، استخدم الدالة التجميعية bit_or(). لتجميع مواضع البت في صورة نقطية BINARY ، استخدم bitmap_construct_agg().

بناء الجملة

bitmap_or_agg(expr) [FILTER ( WHERE cond ) ]

يمكن أيضا استدعاء هذه الدالة كدالة نافذة باستخدام العبارة OVER .

الوسيطات

  • exprBINARY: طول <= 4096 يمثل صورة نقطية. يقوم Azure Databricks باقتطاع قيم أطول إلى 4096.
  • cond: تعبير منطقي اختياري يقوم بتصفية الصفوف المستخدمة للتجميع.

المرتجعات

بطول BINARY 4096.

الأمثلة

> SELECT hex(trim(TRAILING X'00' FROM bitmap_or_agg(val))) FROM VALUES(x'10'), (x'02') AS T(val);
 12

-- Count the number of distinct values across two tables
> SELECT sum(num_distinct) AS num_distinct
    FROM (SELECT bucket, bitmap_count(bitmap_or_agg(num_distinct)) AS num_distinct
            FROM ((SELECT bitmap_bucket_number(val) AS bucket,
                          bitmap_construct_agg(bitmap_bit_position(val)) AS num_distinct
                     FROM VALUES(1), (2), (1), (-1), (5), (0), (5) AS t(val)
                     GROUP BY ALL)
                  UNION ALL
                  (SELECT bitmap_bucket_number(val) AS bucket,
                          bitmap_construct_agg(bitmap_bit_position(val)) AS num_distinct
                     FROM VALUES(3), (1), (-1), (6), (5), (1), (5), (8) AS t(val)
                     GROUP BY ALL))
            GROUP BY ALL);
  8