Запрос Кусто не может быть проанализирован - PullRequest
1 голос
/ 11 апреля 2019

У меня есть SecurityLog с полями, такими как DstIP_s, и я хочу отображать записи, соответствующие моей таблице trojanDst

let trojanDst = datatable (DstIP_s:string)
    [    "1.1.1.1","2.2.2.2","3.3.3.3"
];
SecurityLog |
| join trojanDst  on DstIP_s

Я получаю запрос не может быть проанализирован ошибка?

Ответы [ 3 ]

2 голосов
/ 11 апреля 2019

Отправленный вами запрос имеет избыточный канал (|) перед join.

. С точки зрения эффективности, убедитесь, что левая сторона join меньше, как предлагалосьздесь: https://docs.microsoft.com/en-us/azure/kusto/query/best-practices#join-operator

1 голос
/ 15 апреля 2019

В KQL существует много типов соединений, таких как innerunique, inner, leftouter, rightouter, fullouter, anti и другие. здесь вы можете найти полный список 1002

1 голос
/ 14 апреля 2019

Это слишком долго для комментария. Как указывало @ Yoni L , проблема заключается в двойном трубе оператора.


Для тех, у кого есть SQL, join может быть немного нелогичным (на самом деле это kind=innerunique):

Оператор JOIN :

вид не указан, вид = innerunique

Для каждого значения включения соответствует только один ряд с левой стороны. ключ. Вывод содержит строку для каждого совпадения этой строки со строками справа.

Kind = внутренний

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

let t1 = datatable(key:long, value:string)  
[
1, "a",  
1, "b"  
];
let t2 = datatable(key:long, value:string)  
[  
1, "c", 
1, "d"  
];
t1| join t2 on key;

Выход:

┌─────┬───────┬──────┬────────┐
│ key │ value │ key1 │ value1 │
├─────┼───────┼──────┼────────┤
│   1 │ a     │    1 │ c      │
│   1 │ a     │    1 │ d      │
└─────┴───────┴──────┴────────┘

Демо


Стиль SQL JOIN версия:

let t1 = datatable(key:long, value:string)  
[
1, "a",  
1, "b"  
];
let t2 = datatable(key:long, value:string)  
[  
1, "c", 
1, "d"  
];
t1| join kind=inner t2 on key;

Выход:

┌─────┬───────┬──────┬────────┐
│ key │ value │ key1 │ value1 │
├─────┼───────┼──────┼────────┤
│   1 │ b     │    1 │ c      │
│   1 │ a     │    1 │ c      │
│   1 │ b     │    1 │ d      │
│   1 │ a     │    1 │ d      │
└─────┴───────┴──────┴────────┘

Демо

...