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}]