2017-07-10 85 views
1

這是我在BigQuery中運行的查詢,我想在我的python腳本中運行。我將如何改變這個/我需要添加什麼才能讓它在Python中運行。如何在Python中運行BigQuery查詢

#standardSQL 
SELECT 
    Serial, 
    MAX(createdAt) AS Latest_Use, 
    SUM(ConnectionTime/3600) as Total_Hours, 
    COUNT(DISTINCT DeviceID) AS Devices_Connected 
FROM `dataworks-356fa.FirebaseArchive.testf` 
WHERE Model = "BlueBox-pH" 
GROUP BY Serial 
ORDER BY Serial 
LIMIT 1000; 

從我一直在研究它是說我不能保存這個查詢作爲使用Python的永久表。真的嗎?如果是真的,是否仍然可以導出臨時表?

回答

4

您需要使用BigQuery Python client lib,那麼這樣的事情應該讓你和運行:

from google.cloud import bigquery 
client = bigquery.Client(project='PROJECT_ID') 
query = "SELECT...." 
dataset = client.dataset('dataset') 
table = dataset.table(name='table') 
job = client.run_async_query('my-job', query) 
job.destination = table 
job.write_disposition= 'WRITE_TRUNCATE' 
job.begin() 

https://googlecloudplatform.github.io/google-cloud-python/stable/bigquery-usage.html