2017-01-06 3 views
0

Есть ли способ получить полное внешнее соединение с сумологическим? Оператор JOIN кажется, дает внутреннее соединениеСумологическое «полное внешнее соединение» по транзакционному идентификатору

У меня есть logstream с Stagea и stageB, и я хочу, чтобы определить, где есть лаглинь для Stagea, но не stageB для общего идентификатора

{ id: '12324', stage: 'a' } 
{ id: '12324', stage: 'b' } 
{ id: '3467', stage: 'a' } 

Я хочу результаты иметь только id: '3467', поскольку другой id имеет обе стадии.

ответ

2

Вот запрос, который я закончил с

  1. синтаксического анализа идентификатора
  2. transactionize на ID
  3. объединить loglines на идентификатор в пределах сделки
  4. фильтр для операций, где стадия б оленья кожа существуют
  5. исключить самые последние логины, поскольку транзакция может охватывать окно запроса

    ("id") 
    | parse "id: *," as id 
    | transactionize id (merge id, _raw join with "\n\n") 
    | where !(_raw matches "*stage: \'b\'*") and _messageTime < now() - 1000*60*4 
    
Смежные вопросы