dedup
Описание
Оставляет только уникальные записи в результатах по заданным полям.
Синтаксис
| dedup [<int>] <field-list> [sortby <sort-by-clause>]
Обязательные аргументы
| Параметр | Синтаксис | Описание |
|---|---|---|
<field-list> | <field> [, <field>] | Список полей, по которым должна происходить дедупликация. |
Опциональные аргументы
| Параметр | Синтаксис | По умолчанию | Описание |
|---|---|---|---|
maxnum | <int> | Без ограничений. | Максимальное количество комбинаций для дедупликации. |
[sortby <sort-by-clause>] | sortby <global-sort-options> (-|+)<sort-field> [(-|+)<sort-field> ...] | Уточняющее описание сортировки. |
Опции сортировки
| Параметр | Синтаксис | По умолчанию | Описание |
|---|---|---|---|
<global-sort-options> | +|- | + | Сортировка + по возрастанию, - по убыванию. |
<sort-field> | <field> | auto(<field>) | str(<field>) | ip(<field>) | num(<field>) | Описание типа сортировки. |
Типы сортировки
| Параметр | Синтаксис | Описание | Замечания |
|---|---|---|---|
<field> | <field> | Имя поля для сортировки. | |
<auto> | auto(<field>) | Автоматически определяет каким образом выполнять сортировку. | |
ip | ip(<field>) | Выполняет сортировку для IP-адресов. | |
num | num(<field>) | Выполняет сортировку поля как цифры. | Если поле не содержит цифровое значение, система вернет ошибку. |
str | str(<field>) | Выполняет сортировку поля как текстовое. | Если поле содержит другой тип данных (цифры, даты, boolean-значение), то значения полей будут приведены к тексту. |
Характер сортировки зависит от типа данных (текст — алфавитный порядок, цифры — возрастание/убывание, даты — раньше/позже и т.д.).
Примеры запросов
Данные примеры демонстрируют различные способы использования команды dedup для удаления дублирующихся записей и получения уникальных данных.
Пример 1
В данном примере команда dedup оставляет только одну запись для каждого уникального значения поля event.
source radius_logs
| dedup event
Пример 2
В данном примере параметр 3 ограничивает число записей, которые могут остаться для одной комбинации значений.
source radius_logs
| dedup 3 event
Пример 3
Данный пример демонстрирует, что sortby задает порядок выбора записей: сначала по event по убыванию, затем по @timestamp по возрастанию.
Этот пример демонстрирует использование параметра sortby для управления порядком выбора записей при дедупликации. Сортировка выполняется следующим образом:
- сначала по полю
eventв порядке убывания - затем по полю
@timestampв порядке возрастания
source radius_logs
| dedup event sortby - event +@timestamp
Пример 4
В данном примере используется числовая сортировка через функцию num(). Если поле не содержит число, команда вернет ошибку.
source radius_logs
| dedup event sortby num(event)