mvexpand
Описание
Расширяет значения многозначного поля на отдельные события, по одному событию для каждого значения в многозначном поле.
Синтаксис
mvexpand <field> [limit=<int>]
Обязательные аргументы
| Параметр | Синтаксис | Описание |
|---|---|---|
field | <field> | Поле, по которому расширяется значение на отдельные события. |
Опциональные аргументы
| Параметр | Синтаксис | По умолчанию | Описание |
|---|---|---|---|
limit | limit=<int> | Не ограничено. | Количество первых значений указанного поля, к которым применится расширение. |
Примеры запросов
Пример 1
В данном примере сначала stats values(items) as order_items собирает уникальные значения поля items в multivalue-поле order_items. Затем mvexpand разворачивает это поле в отдельные события, по одному на каждый товар.
source orders-*
| stats values(items) as order_items
| order_items |
|---|
| Chicken Caesar Roll Breakfast Burrito Sweet and Sour Chicken Fish and Chips Hot Dog Gyros Asian Salad |
Такой прием удобен, когда список товаров нужно превратить в плоский набор строк для дальнейшей фильтрации или агрегации.
| mvexpand order_items
Результатом выполнения запроса может быть следующая таблица:
| order_items |
|---|
| Caesar roll with chicken |
| Breakfast burrito |
| Sweet and sour chicken |
| Fish and Chips |
| Hot Dog |
| Gyros |
| Asian Salad |
Пример 2
В данном примере параметр limit=3 оставляет только первые три значения multivalue-поля order_items.
... | mvexpand order_items limit=3
Результатом выполнения запроса может быть следующая таблица:
| order_items |
|---|
| Caesar roll with chicken |
| Breakfast burrito |
| Sweet and sour chicken |
Пример 3
В данном примере mvexpand action превращает multivalue-поле action в отдельные строки, после чего stats count by user, action считает количество событий для каждой пары user и action. Команда sort сортирует результаты по убыванию count.
... | mvexpand action
| stats count by user, action
| sort -count
Пример входных данных:
| _time | host | user | action |
|---|---|---|---|
| 2025-05-30 13:47:08 | ws-01 | denisov | locked-out-user-account credential-validated enabled-user-account |
| 2025-05-30 13:49:08 | ws-01 | abramova | added-user-account credential-validated locked-out-user-account |
| 2025-05-30 13:50:08 | ws-02 | popov | credential-validated |
Результатом выполнения запроса может быть следующая таблица:
| user | action | count |
|---|---|---|
| denisov | credential-validated | 110 |
| abramova | credential-validated | 101 |
| popov | credential-validated | 98 |
| denisov | locked-out-user-account | 95 |
| abramova | locked-out-user-account | 89 |
| denisov | enabled-user-account | 34 |
| abramova | added-user-account | 22 |