2014-01-08 45 views
1

我們正在研究pandas.io.gbq,我們注意到大型結果集的一些不尋常行爲。代碼大致如下所示(其中bq來自bq.py)。前幾頁的數據返回有效的pageTokens,但之後,每對夫婦都沒有返回。 https://gist.github.com/jacobschaer/8309204BigQuery結果不包括頁面標記

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() 

這可能涉及到:BigQuery paging issues with tableData.list()

最終,我們與結果集中的重複清盤JSON的修剪副本退換可瀏覽。

+0

調查... –

回答

1

我可以幫助您瞭解這一點。上面的代碼片段提取第一組查詢結果,併產生一個頁面令牌。這聽起來像是你後來遇到的一個問題 - 你能告訴我你是如何進行後續調用的嗎?

你能不能爲我澄清一些事情,你還提到前幾頁返回有效的頁面標記,然後每個頁面返回一個沒有。你的意思是你得到的頁面根本不包含任何pagetokens?還是你的意思是有頁面包含有效的頁面令牌但沒有結果?

+2

對不起,代碼片段非常小,只是爲了讓您感受我們正在製作的API客戶端調用。我們正在使用的完整代碼可在以下網址獲得: https://github.com/pydata/pandas/blob/master/pandas/io/gbq.py 我想澄清一下'bq'命令行客戶端遇到同樣的問題。我添加了一些日誌到'bigquery_client.py'並運行查詢: 'bq -q查詢-n 999999999 --format = csv'SELECT * FROM analysis_temp.500k_with_row_numbers'' (analysis_temp.500k_with_row_numbers)是維基百科的一個子集數據。 結果可以看到: https://gist.github.com/jacobschaer/8337318 –

+0

感謝您澄清。我會盡快爲您提供更新。 – Eric

+1

在讀取行的過程中,客戶端邏輯似乎存在一個錯誤。 bq客戶端中的循環在使用page_tokens和嘗試對行進行計數之間交替進行。客戶端代碼更改尚未發佈 - 但這裏有一個簡短的總結: – Eric