KDB — Способы преодоления предельной ошибки с помощью вызова IPC

#kdb

Вопрос:

Ошибка ограничения KDB при вызове большой таблицы котировок в память через IPC.

Глядя на лучшую структуру ниже запроса, чтобы преодолеть. Использование версии 3.3

 h:hopen....

q) .z.K
(Roundtrip: 078ms)
3.3

q) qtdata:h"select from qtTbl where date=2021.09.22"
(Roundtrip: 00:13.046)
ERROR: 'limit 
(tried to generate a list with more than 2,000,000,000 elements (keep in mind that any IPC result is a byte list, hence can't be longer than 2 metric Gb))```
 

Заранее спасибо

Ответ №1:

Я бы попытался срезать его по времени, сим или какой-либо другой разумной метрике. Например,

 qtSyms: h"exec sym from select distinct sym from qtTbl where date=2021.09.22";
qtdata: raze h each {select from qtTbl where date=2021.09.22, sym=x},/:qtSyms;

// Less functional, but easier to understand
// raze {h({select from qtTbl where date=2021.09.22, sym=x};x)} each qtSyms