Оператор top-hitters

Возвращает приближение для наиболее популярных уникальных значений или значений с наибольшей суммой во входных данных.

Events | top-hitters 5 of EventId

PageViews | top-hitters 25 of Page by NumViews

Примечание

top-hitters использует алгоритм приближения, оптимизированный для повышения производительности, когда входные данные велики. Приближение основывается на алгоритме Count-min-эскиза .

Синтаксис

T | top-hitters нумберофвалуес of ValueExpression

T | top-hitters нумберофвалуес of ValueExpression by сумминжекспрессион

Аргументы

  • Нумберофвалуес: количество уникальных значений ValueExpression. Выражения типа int , long и real являются допустимыми (округляются вниз).

  • ValueExpression: выражение для входной таблицы T , для которой возвращаются различные значения.

  • Сумминжекспрессион: Если указано, числовое выражение во входной таблице T , чья сумма по отдельному значению ValueExpression , определяет, какие значения следует выдавать. Если этот параметр не указан, вместо него будет использоваться число каждого отдельного значения ValueExpression .

Комментарии

Первый синтаксис (без сумминжекспрессион) концептуально эквивалентен следующему:

T | summarize C``=``count() by ValueExpression | top нумберофвалуес by C``desc

Второй синтаксис (WITH сумминжекспрессион) концептуально эквивалентен:

T | summarize S``=``sum(*SummingExpression*) by ValueExpression | top нумберофвалуес by S``desc

Примеры

Получение наиболее частых элементов

В следующем примере показано, как найти топ-5 языков с большинством страниц в Википедии (доступ к которому осуществляется после апреля 2016).

PageViews
| where Timestamp > datetime(2016-04-01) and Timestamp < datetime(2016-05-01) 
| top-hitters 5 of Language 
Язык approximate_count_Language
en 1539954127
zh 339827659
de 262197491
ru 227003107
fr 207943448

Получение Top hitters на основе значения столбца

В следующем примере показано, как найти наиболее просмотренные англоязычные страницы Википедии из 2016 года. Запрос использует представления (целочисленное число) для вычисления популярности страницы (число представлений).

PageViews
| where Timestamp > datetime(2016-01-01)
| where Language == "en"
| where Page !has 'Special'
| top-hitters 10 of Page by Views
Страница approximate_sum_Views
Main_Page 1325856754
Web_scraping 43979153
Java_ (programming_language) 16489491
United_States 13928841
Википедии 13584915
Donald_Trump 12376448
YouTube 11917252
The_Revenant_ (2015_film) 10714263
Star_Wars: _The_Force_Awakens 9770653
Портал: Current_events 9578000