Bigquery 查询返回“pagetoken missing” - 查询适用于其他表

Posted

技术标签:

【中文标题】Bigquery 查询返回“pagetoken missing” - 查询适用于其他表【英文标题】:Bigquery query returning "pagetoken missing" - query works on other tables 【发布时间】:2013-12-10 23:53:15 【问题描述】:

所以我将我的 bigquery 表按天拆分 - 每个表都是当天的数据。

在运行 select 语句时,它似乎适用于某些表(例如 adroit.raw_data_2013_12_09),但不适用于 3 天前创建的表(例如 adroit.raw_data_2013_12_05)

这是错误读数:

bigquery service returned an invalid reply in query operation: pagetoken missing
for table '123856490061:_2863529bd240bcbd666b3debc039d3c62827fd67.anon64863979ca
e70f1bf67661ed0fafb2a8c5bb36e1'.

please make sure you are using the latest version of the bq tool and try again.
if this problem persists, you may have encountered a bug in the bigquery client.
google engineers monitor and answer questions on stack overflow, with the tag
google-bigquery:
http://***.com/questions/ask?tags=google-bigquery
please include a brief description of the steps that led to this issue, as well
as the following information:

========================================
== platform ==
  cpython:2.7.5:linux-2.6.26-2-xen-amd64-x86_64-with-debian-5.0.8
== bq version ==
  v2.0.12
== command line ==
  ['/usr/local/bin/bq', 'query', '--max_rows=100000', '--format=csv', '-q', 'select count(*) as views, template_id, string_id, state_id, reel_1,reel_2,reel_3,reel_4,reel_5,reel_6,reel_7,reel_8,reel_9,reel_10 from adroit.raw_data_2013_12_03 where operation_type in (1,3)  and template_id in (2659,2660,2661) group by template_id, string_id,  state_id, reel_1,reel_2,reel_3,reel_4,reel_5,reel_6,reel_7,reel_8,reel_9,reel_10']
== utc timestamp ==
  2013-12-10 23:15:43
== error trace ==
  file "build/bdist.linux-x86_64/egg/bq.py", line 652, in runsafely
    return_value = self.runwithargs(*args, **kwds)
  file "build/bdist.linux-x86_64/egg/bq.py", line 932, in runwithargs
    max_rows=self.max_rows)
  file "build/bdist.linux-x86_64/egg/bq.py", line 383, in _printtable
    fields, rows = client.readschemaandrows(table_dict, **extra_args)
  file "build/bdist.linux-x86_64/egg/bigquery_client.py", line 668, in readschemaandrows
    self.readtablerows(table_dict, max_rows))
  file "build/bdist.linux-x86_64/egg/bigquery_client.py", line 649, in readtablerows
    apiclienthelper.tablereference.create(**table_dict),))
========================================


unexpected exception in query operation: pagetoken missing for table '1238564900
61:_2863529bd240bcbd666b3debc039d3c62827fd67.anon64863979cae70f1bf67661ed0fafb2a
8c5bb36e1'

所以我尝试了 easy_install 更新,脚本说我的 bq 客户端是最新的。我不知道为什么会收到此错误。谢谢。

【问题讨论】:

【参考方案1】:

看来您使用的是旧版本的 bq。最新版本是 2.0.17。

$ bq version
This is BigQuery CLI v2.0.17

当您运行 easy_install 时,您是否使用了 --upgrade 标志?如果没有,它实际上不会更新您正在使用的版本。

您可以在下载页面here查看最新版本。

【讨论】:

这完全成功了。忘记了 --upgrade 标志。谢谢!

以上是关于Bigquery 查询返回“pagetoken missing” - 查询适用于其他表的主要内容,如果未能解决你的问题,请参考以下文章

Bigquery 查询返回“pagetoken missing” - 查询适用于其他表

从 BigQuery 中的查询返回一个数组(重复字段)

标准 SQL 查询在 BigQuery 中返回正确结果,但在 Data Studio 中不返回

使用 SQL 查询从 BigQuery 用户定义函数返回值

Datastudio BigQuery 连接器:查询返回错误

现有数据集的 BigQuery API 查询作业返回 404