KDB窗口加入限制错误

时间:2015-08-21 16:01:41

标签: kdb

我正在尝试在下面的数据集上进行窗口连接(只是玩它)。

w:(((1%24)%2);0f){"z"$y-x}\:dd.time;
f:`sym`time;
wj[w;f;dd;(dd;(::;`price))];

,这会导致错误:

k){[e;d;a;b]e@'d@\:a+!b-a}
'limit
!:
205558234298187785

dd表:

sym     time                    price
B1VVGZ5 2015-07-30T12:47:57.000 240.9
0216238 2015-07-30T08:16:22.383 5.19
0216238 2015-07-30T08:18:36.000 5.195
0216238 2015-07-30T08:18:36.217 5.195
0216238 2015-07-30T08:22:13.527 5.2
0216238 2015-07-30T08:22:13.730 5.2
0216238 2015-07-30T08:26:34.437 5.2025
0216238 2015-07-30T08:29:00.920 5.2
0216238 2015-07-30T08:29:01.113 5.2
0216238 2015-07-30T08:29:01.113 5.2
该表上的

和meta:

c     t   f   a
sym   s     
time  z     
price f     

另一个奇怪的是,这段代码有效,然后无效。关于发生了什么的任何想法?

编辑:我是如何重现此错误的:

dd:select [10] sym:symbol,time:"z"$FILL_DATE,price:FILL_PRICE from update symbol:`$Sedol from select from fillData where date=2015.07.30;

w:(((1%24)%2);0f){"z"$y-x}\:dd.time
f:`sym`time

wj[w;f;dd;(dd;(max;`price))]

1 个答案:

答案 0 :(得分:1)

Take a look at the list of kdb+ errors

  

限制 - >试图生成长度超过2,000,000,000的列表,或者序列化对象是>如果尝试序列化具有>的嵌套对象,则输入2GB或' 20亿元素。

这可以解释为什么代码以前工作(较小的数据集?)。

您使用的是哪个版本的q?我建议升级到3 + as the vector size limit was removed in version 3.0