0

FusionTable API の学習を開始します。〜32,000レコードのかなり小さな「Hello World」のGoogle FusionTableの例があります。しかし、単純なクエリは明らかに間違った結果を返すようです。何かを見逃しているのか、それとも私が気付いていない制限があるのでしょうか?

このテーブル ID を使用してオンライン FusionTable API SQL クライアントを使用して、このソース テーブルを試してください。

1xxJtCuJ8V7D6nTEOdeNPGS7Q--VdugQqLtjjYgQ

SELECT COUNT(SEX) FROM 4546155戻り値32,778

しかし、SELECT SEX, COUNT() FROM 4546155 GROUP BY SEX戻ります:

[table] => object
  [cols] => object
     [0] => SEX
     [1] => count()
  [rows] => object
     [0] => object
         [0] => 1
         [1] => 5431
     [1] => object
         [0] => 2
         [1] => 4025

32,778 ではなく、5431 + 4025 = 9456 であることに注意してください。それぞれ 18,876 と 13,902 を期待していましたが、合計すると 32,778 になります。

ソース テーブルのレコード数が 10,000 になると、システムは集計クエリをサイレント モードで停止しますか? 助言がありますか?

4

1 に答える 1

0

FT はクエリの結果をキャッシュしていると思いますが、クエリが最初に不完全なデータに対して実行された場合、これらのキャッシュが間違っている可能性があります。

データをアップロードした後、テストのために実行したフィールド (SEX、ETHUN など) に対するクエリは、カウンターが「100% 完了」と言う前に、瞬時に (< 0.1 秒) 返され、半分に基づいているように見える結果が返されます。データ。他のフィールド (COPD、ASTHMA など) に対する同様のクエリは、ゆっくりと (10 ~ 30 秒以上) 正しい結果を返し (または 503 エラーでタイムアウト)、正しい結果を返し、その後すぐに戻ります。

于 2012-07-18T17:19:57.503 に答える