hdb に分割されたテーブルがあり、そのテーブルには多数の float のリスト (要素あたり最大 400 個の float) を含む列が含まれています。たとえば、各要素は次のようになります
(100.0 1.0 ...)
行数が特に多い日からこの列を選択しようとすると、次のエラーが表示されます
'./2015.02.07/table/column# Cannot allocate memory
次のようなクエリから同じエラーが発生します。
select column[;0] from table where date=2015.02.07
行が少ない日でも、このクエリは列の各要素の最初の値を返します。
この列を select でストリーミングして、列全体を大量のメモリに保持するためのメモリ要件を減らす方法はありますか?
編集
.Q.ind は、大きな日に同じエラーで失敗します。
つまり、2015.02.01 では作業できますが、2015.02.02 では作業できないとします。
.Q.ind[select from table where date=2015.02.01;enlist 1]
大丈夫ですが
.Q.ind[select from table where date=2015.02.02;enlist 1]
で失敗します
{0!$[#.Q.pm;p3;(?).]@[x;0;p1[;y;z]]}
'./2015.02.10/table/column2#: Cannot allocate memory
@
.[?]
(+`time`sym`column1`column2!`:./2015.02.02/table;();0b;())
無料の 32 ビット版を使用していることに注意してください