2017-04-18 67 views
0

支持团队,Bigquery API获取工作信息

我正在使用google bigquery API python lib来测试一些操作。一个目的是获取工作信息。然后我们可以更好地控制API中的所有查询。我发现在REST参考here中提到了get()方法,它可以获取作业信息。但是在API python lib here中,我无法找到任何有关此get()方法的文档,或者可以完成相同的操作。

你能帮我提供任何有关python lib中的任何方法的指导文档,可以获取作业信息吗?

感谢 志宏

回答

0

基于Elliott的建议,我在运行查询后得到了我需要的工作信息,但未弄清楚如何获取存在作业的作业信息,如果每次操作后都收到查询信息,我认为不再需要作业信息。的Python代码是如下:

from google.cloud import bigquery 
client = bigquery.Client() 
query = client.run_sunc_query(sql) 
query.use_legacy_sql = False 
query.use_query_cache = True 
query.run() 
trows = query.total_rows 
billed_byte = query.total_bytes_processed 

更多查询信息的参数,可以发现here和多个示例代码可以发现here

1

您正在寻找的翻译API,而不是大量查询的文档。请参阅BigQuery client documentation下的job_from_resource

+0

嗨,@Elliott,谢谢你的回复。其实我试过job_from_resource(),但不能使它工作。你知道我在哪里可以找到“参数”的例子吗?我在这里发现了一些关于BQ测试的线索https://github.com/GoogleCloudPlatform/google-cloud-python/blob/master/bigquery/tests/unit/test_client.py,但没有弄明白。 – zhihong

+0

从你的问题中不清楚你想要查找什么。通常,您可以将其他客户端操作的结果(例如'run_async_query')传递给它。 –

+0

嗨,@艾略特,对于任何混淆抱歉。我试图将作业信息作为get()方法在REST参考中描述。您提到“另一个客户端操作的结果”,您是否认为来自另一个客户端操作的jobId?是的,我知道需要projectId和jobId。但我不知道如何将这个信息传递给参数job_from_resource() – zhihong