This is the query that I have been running in BigQuery that I want to run in my python script. How would I change this/ what do I have to add for it to run in Python.
#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;
From what I have been researching it is saying that I cant save this query as a permanent table using Python. Is that true? and if it is true is it possible to still export a temporary table?
Advertisement
Answer
You need to use the BigQuery Python client lib, then something like this should get you up and running:
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
See the current BigQuery Python client tutorial.