【问题标题】:BigQuery Python Client Library - Named Parameters ErrorBigQuery Python 客户端库 - 命名参数错误
【发布时间】:2018-07-02 12:06:27
【问题描述】:

我正在尝试使用名为“参数”的 Python 客户端库编写一个简单的查询,但一直遇到错误。

当我尝试运行代码时,我不断收到“未声明的查询参数”。我错过了什么吗?

我的代码:

import datetime
import os
from google.cloud import bigquery

os.environ["GOOGLE_APPLICATION_CREDENTIALS"]=<path>
client = bigquery.Client(project='project_id')

query = """
    SELECT * from `<project_id>.<dataset_id>.*` 
    WHERE CAST(REGEXP_EXTRACT(_TABLE_SUFFIX, r"^(\d{8})$") AS INT64) = @date
    limit 10;
    """

query_params = [
    bigquery.ScalarQueryParameter(
        'date', 
        'INT64', 
        int((datetime.date.today().strftime('%Y%m%d'))
        )
    ]

job_config = bigquery.QueryJobConfig()
job_config.query_parameters = query_params

query_job = client.query(
    query,
    location = 'US') 

for row in query_job:
    print(row)

assert query_job.state == 'DONE'

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    您似乎缺少将 job_config 输入到 client.query() 方法的参数中。你应该有:

    query_job = client.query(
        query,
        location = 'US',
        job_config=job_config) 
    

    Official docs here

    【讨论】:

      猜你喜欢
      • 2018-04-15
      • 1970-01-01
      • 2017-05-29
      • 1970-01-01
      • 1970-01-01
      • 2019-03-08
      • 1970-01-01
      • 2016-06-07
      • 1970-01-01
      相关资源
      最近更新 更多