Google FusionTable не возвращает правильный результат - скрытый лимит?

Начало изучения FusionTable API. У меня есть довольно маленький пример "Привет, мир" Google FusionTable с ~32 000 записей. Но простые запросы, похоже, дают явно неправильные результаты, и мне интересно, упустил ли я что-то упущенное или есть ли предел, о котором я не знаю?

Попробуйте эту исходную таблицу, используя SQL-клиент Online FusionTable API, используя этот идентификатор таблицы:

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

Обратите внимание, что 5431 + 4025 = 9456, а не 32,778. Я ожидал бы 18 876 и 13 902 соответственно, что в сумме составит 32 778:

Останавливает ли система в режиме без вывода сообщений агрегатные запросы на 10 000 записей в исходной таблице? Какие-либо предложения?

1 ответ

Я считаю, что FT кеширует результаты по запросам, и эти кеши могут быть неправильными, если запросы сначала выполняются на неполных данных.

Запросы к полям (например, SEX, ETHUN), которые я запускал для тестирования после загрузки данных, но до того, как счетчик сказал "100% завершено", возвращаются мгновенно (< 0,1 с) с результатами, которые выглядят как основанные на половине данные. В то время как аналогичные запросы в других полях (например, ХОБЛ, ASTHMA) возвращаются медленно (10-30 секунд или более) с правильными результатами (или тайм-аут с ошибкой 503), а затем возвращают правильные результаты, а затем мгновенно возвращаются после этого.

Другие вопросы по тегам