我正在尝试使用适用于Google Big Query的Python API创建视图。我有免费试用版和所有身份验证设置。每当我使用API创建视图时,视图中只生成25行,但是当我从大查询网站创建视图时,将显示所有行(3006)。使用API时是否存在行限制,或者我的代码中可能存在问题。这是我正在使用的查询(在API和Web中使用的相同):
query = "SELECT DISTINCT author, subreddit FROM `%s` WHERE subreddit = 'The_Donald'" %(TABLE+DATES[7])
我刚刚使用以下代码使用Python Client Libraries创建了一个视图:
from google.cloud import bigquery
client = bigquery.Client()
project = 'bigquery-samples'
source_dataset_id = 'reddit'
source_table_id = 'full'
shared_dataset_ref = client.dataset('my_dataset')
view_ref = shared_dataset_ref.table('my_shared_view')
view = bigquery.Table(view_ref)
sql_template = (
'SELECT DISTINCT author,subreddit_id FROM `{}.{}.{}` WHERE subreddit_id LIKE "%t5%"')
view.view_query = sql_template.format(
project, source_dataset_id, source_table_id)
view = client.create_table(view) # API request
print('Successfully created view at {}'.format(view.full_table_id))
我的视图有1359016行,通过执行以下操作进行验证:
SELECT COUNT(*) FROM `my_dataset.my_shared_view`
希望能帮助到你。
以下是我尝试过的简单代码,并且工作正常。请尝试让我知道。虽然我使用的是付费版本。
from google.cloud import bigquery
client = bigquery.Client(project=dest_project)
query = "SELECT DISTINCT author, subreddit FROM `%s` WHERE subreddit = 'The_Donald'"%(TABLE+DATES[7])
job = client.query(query)
job.result()