Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 不包括页面标记的BigQuery结果_Python_Google Bigquery - Fatal编程技术网

Python 不包括页面标记的BigQuery结果

Python 不包括页面标记的BigQuery结果,python,google-bigquery,Python,Google Bigquery,我们正在研究pandas.io.gbq,我们注意到大型结果集的一些异常行为。代码大致如下所示(其中bq来自)。数据的前几页返回有效的PageToken,但之后每对返回一个。返回的JSON的修剪副本可在以下位置查看: 这可能与: 最终,我们在结果集中得到了重复的结果。我可以帮助您找到问题的根源。上面的代码片段启动了获取第一组查询结果的过程,应该会生成一个页面标记。听起来你是在后续通话中遇到问题的-你能告诉我你是如何进行后续通话的吗 你能帮我澄清一下吗?你还提到前几页返回有效的页面标记,然后每两页

我们正在研究pandas.io.gbq,我们注意到大型结果集的一些异常行为。代码大致如下所示(其中
bq
来自)。数据的前几页返回有效的PageToken,但之后每对返回一个。返回的JSON的修剪副本可在以下位置查看:

这可能与:


最终,我们在结果集中得到了重复的结果。

我可以帮助您找到问题的根源。上面的代码片段启动了获取第一组查询结果的过程,应该会生成一个页面标记。听起来你是在后续通话中遇到问题的-你能告诉我你是如何进行后续通话的吗


你能帮我澄清一下吗?你还提到前几页返回有效的页面标记,然后每两页都不返回。你的意思是你得到的页面根本不包含PageToken吗?或者您的意思是有包含有效页面标记但没有结果的页面

很抱歉,代码片段非常小,只是为了让您了解我们正在进行的API客户端调用。我们正在使用的完整代码可以在以下位置获得:
bq
命令行客户端也有同样的问题。我在
bigquery\u client.py
中添加了一些日志,并运行了一个查询:
bq-q query-n 9999999--format=csv“SELECT*FROM analysis\u temp.500k\u with_row\u numbers”
(analysis\u temp.500k\u with_row\u numbers)是维基百科数据的子集。结果见:感谢澄清。我将很快为您提供更新。在读取行的客户端逻辑中似乎有一个错误。bq客户机中的循环在使用page_标记和尝试计数行之间交替进行。客户机代码更改尚未发布——但这里有一个简短的总结:基本上,只要页面标记丢失,就不会有更多的结果,迭代应该结束。当页面标记变为空而不是停止时,我们返回到我们应该跟踪的开始索引。发布的客户端中的错误是,开始索引只有在页面标记丢失时才更新-因此它基本上是不正确的,当您到达迭代结束时,得到一个空的页面标记时,我们会使用(错误的)开始索引,并开始从开始索引所在的位置返回结果。我仍然没有看到一个修复推到哪里
import bq
import bigquery_client
#.
#.
#.
client = bq.Client.Get()
kwds = {'timeoutMs': 0, u'projectId': u'xxxxxxx', 'startIndex': 0, 'maxResults': 1000000, u'jobId': u'bqjob_r36320b28158a7c96_000001436eb0431c_1'}
data = client.apiclient.jobs().getQueryResults(**kwds).execute()