0

我正在尝试使用 Python API for Google Big Query 创建一个视图。我有免费试用版和所有身份验证设置。每当我使用 API 创建视图时,视图中只会生成 25 行,但是当我从大查询网站创建视图时,会显示所有行 (3006)。使用 API 时是否存在行数限制,或者我的代码中是否存在问题。这是我正在使用的查询(在 API 和 Web 中使用相同):

query = "SELECT DISTINCT author, subreddit FROM `%s` WHERE subreddit = 'The_Donald'" %(TABLE+DATES[7])
4

2 回答 2

2

我刚刚使用以下代码使用Python 客户端库创建了一个视图:

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` 

希望能帮助到你。

于 2018-11-08T15:10:35.553 回答
1

以下是我尝试过的简单代码,我可以正常工作。请尝试让我知道。虽然我使用的是付费版本。

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() 
于 2018-12-14T07:34:00.460 回答