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

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

إرجاع أعلى k قيم العناصر الأكثر تكرارا expr في جنبا إلى جنب مع أعدادها التقريبية.

بناء الجملة

approx_top_k(expr[, k[, maxItemsTracked]]) [FILTER ( WHERE cond ) ]

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

الوسيطات

  • expr: تعبير عن STRING أو BOOLEAN أو DATE أو TIMESTAMP أو نوع رقمي.
  • k: قيمة INTEGER حرفية اختيارية أكبر من 0. إذا k لم يتم تحديده، فسيتم تعيينه افتراضيا إلى 5.
  • maxItemsTracked: قيمة INTEGER حرفية اختيارية أكبر من أو تساوي k. إذا maxItemsTracked لم يتم تحديده، فسيتم تعيينه افتراضيا إلى 10000.
  • cond: تعبير منطقي اختياري يقوم بتصفية الصفوف المستخدمة للتجميع.

المرتجعات

يتم إرجاع النتائج كصفيف من نوع STRUCT، حيث يحتوي كل STRUCT على item حقل للقيمة (بنوع الإدخال الأصلي الخاص به) وحقل count (من النوع LONG) مع عدد تقريبي من التكرارات. يتم فرز count الصفيف تنازليا.

ترجع الدالة التجميعية أعلى k قيم العنصر الأكثر تكرارا في تعبير expr إلى جانب أعدادها التقريبية. قد يصل الخطأ في كل عدد إلى 2.0 * numRows / maxItemsTracked إجمالي numRows عدد الصفوف. قيم أعلى لتوفير maxItemsTracked دقة أفضل على حساب زيادة استخدام الذاكرة. ستؤدي التعبيرات التي تحتوي على أقل من maxItemsTracked عناصر مميزة إلى عدد العناصر الدقيق. تتضمن NULL النتائج القيم كعنصر خاص بها في النتائج.

الأمثلة

> SELECT approx_top_k(expr) FROM VALUES (0), (0), (1), (1), (2), (3), (4), (4) AS tab(expr);
 [{'item':4,'count':2},{'item':1,'count':2},{'item':0,'count':2},{'item':3,'count':1},{'item':2,'count':1}]

> SELECT approx_top_k(expr, 2) FROM VALUES 'a', 'b', 'c', 'c', 'c', 'c', 'd', 'd' AS tab(expr);
 [{'item':'c','count',4},{'item':'d','count':2}]

> SELECT approx_top_k(expr, 10, 100) FROM VALUES (0), (1), (1), (2), (2), (2) AS tab(expr);
 [{'item':2,'count':3},{'item':1,'count':2},{'item':0,'count':1}]