2

R プログラムで kdb テーブルのすべての行を処理したい (qserver.R を使用)。これを行う 1 つの方法は、ここで説明するように、メモリ ハンドラーを初期化してから、一度にすべての行を反復処理することです。

t: select from mytable where ts>12:30:00,ts<15:00:00,price,msg="A"
t[0]
t[1]
t[2]
...

R でのクライアント/サーバー呼び出しの数を制限して、できるだけ速くループしたいと考えています。呼び出しごとに複数の行を取得するにはどうすればよいですか?

4

3 に答える 3

1
  1. 以前の質問から、これは 1 人用のシステムだと思いますが、kdb から得られるメリットは何ですか? R で完全に動作し、フラット メモリ マップされたファイルを直接使用しないのはなぜですか? 不必要な複雑さとオーバーヘッドを回避します。やりたいことがRを介してデータをストリーミングすることだけであれば、それは簡単です。

  2. 「ts>12:30:00,ts<15:00:00」ではなく、「ts within (12:30:00;15:00:00)」を使用する方が高速です。

  3. 処理するチャンクのサイズが大きいほど、効率が高くなる可能性があります。100はかなり小さいようです。

よろしく、 ライアン・ハミルトン

于 2013-06-07T19:53:59.040 に答える