1

20 個の SnappyData ノードがあるとします。

そして、私はこのようなテーブルを持っています:

example_timeseries_table

id int not null,
value varchar(128) not null,
time timestamp not null
foo varchar(128) not null,
PARTITION BY COLUMN time

そして、私はクエリを作成します:

select sum(value) from example_timeseries_table where foo = 'xyz'

SnappyData は 20 個のノードすべてを呼び出し、結果を収集してから応答を返しますか? もしそうなら、このタイプのクエリを作成する方法をどのように改善しますか? 「foo」をPARTITION列にするために、テーブルを別の方法で設計する必要がありますか?

4

2 に答える 2

1

現在、列テーブルを使用する場合は、フル スキャンが当てはまります。Spark Catalyst エンジンがデータフレームに対してクエリを実行する方法とほぼ同じです。次の 2 点に注意してください。

  1. このような選択的なクエリには行テーブルを使用します。行テーブルは、パーティションのプルーニング ('foo' を管理するノードに対してプルーニングされたクエリ) とインデックス作成の両方をサポートします。
  2. 作業中の列テーブルのインデックス作成
于 2016-08-25T12:38:29.767 に答える