إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على:
Databricks SQL
Databricks Runtime
إنشاء نافذة منزلقة مستندة إلى القفز عبر تعبير طابع زمني.
بناء الجملة
window(expr, width [, slide [, start] ] )
الوسيطات
exprTIMESTAMP: تعبير يحدد موضوع النافذة.widthSTRING: قيمة حرفية تمثل عرض النافذة كحرفيةINTERVAL DAY TO SECOND.slide: قيمة حرفية اختياريةSTRINGتمثل إزاحة من منتصف الليل إلى البداية، يتم التعبير عنها كحرفيةINTERVAL HOUR TO SECOND.start: قيمة حرفية اختياريةSTRINGتمثل بداية النافذة التالية التي يتم التعبير عنها كحرفيةINTERVAL DAY TO SECOND.
المرتجعات
إرجاع مجموعة من التجميعات التي يمكن تشغيلها باستخدام دالات تجميعية.
GROUP BY اسم العمود هو window. ومن نوع STRUCT<start TIMESTAMP, end TIMESTAMP>
slide يجب أن يكون أقل من أو يساوي width.
start يجب أن يكون أقل من slide.
إذا slide<width تداخلت الصفوف في كل مجموعة.
بشكل افتراضي slide يساوي width ذلك expr يتم تقسيمها إلى مجموعات.
تبدأ النوافذ في 1970-01-01 00:00:00 UTC + start. الإعداد الافتراضي ل start هو '0 SECONDS''
الأمثلة
> SELECT window, min(val), max(val), count(val)
FROM VALUES (TIMESTAMP'2020-08-01 12:20:21', 17),
(TIMESTAMP'2020-08-01 12:20:22', 12),
(TIMESTAMP'2020-08-01 12:23:10', 8),
(TIMESTAMP'2020-08-01 12:25:05', 11),
(TIMESTAMP'2020-08-01 12:28:59', 15),
(TIMESTAMP'2020-08-01 12:30:01', 23),
(TIMESTAMP'2020-08-01 12:30:15', 2),
(TIMESTAMP'2020-08-01 12:35:22', 16) AS S(stamp, val)
GROUP BY window(stamp, '2 MINUTES 30 SECONDS', '30 SECONDS', '15 SECONDS');
{2020-08-01 12:19:15, 2020-08-01 12:21:45} 12 17 2
{2020-08-01 12:18:15, 2020-08-01 12:20:45} 12 17 2
{2020-08-01 12:20:15, 2020-08-01 12:22:45} 12 17 2
{2020-08-01 12:19:45, 2020-08-01 12:22:15} 12 17 2
{2020-08-01 12:18:45, 2020-08-01 12:21:15} 12 17 2
{2020-08-01 12:21:45, 2020-08-01 12:24:15} 8 8 1
{2020-08-01 12:22:45, 2020-08-01 12:25:15} 8 11 2
{2020-08-01 12:21:15, 2020-08-01 12:23:45} 8 8 1
{2020-08-01 12:22:15, 2020-08-01 12:24:45} 8 8 1
{2020-08-01 12:20:45, 2020-08-01 12:23:15} 8 8 1
{2020-08-01 12:23:45, 2020-08-01 12:26:15} 11 11 1
{2020-08-01 12:23:15, 2020-08-01 12:25:45} 11 11 1
{2020-08-01 12:24:45, 2020-08-01 12:27:15} 11 11 1
{2020-08-01 12:24:15, 2020-08-01 12:26:45} 11 11 1
{2020-08-01 12:27:15, 2020-08-01 12:29:45} 15 15 1
{2020-08-01 12:27:45, 2020-08-01 12:30:15} 15 23 2
{2020-08-01 12:28:45, 2020-08-01 12:31:15} 2 23 3
{2020-08-01 12:26:45, 2020-08-01 12:29:15} 15 15 1
{2020-08-01 12:28:15, 2020-08-01 12:30:45} 2 23 3
{2020-08-01 12:29:45, 2020-08-01 12:32:15} 2 23 2