Назначение переменной даты в запросе Google Big Query - PullRequest
0 голосов
/ 27 октября 2019

Я пытаюсь добавить переменную даты в свой запрос в GBQ.

Итак, у меня есть переменная x (например: 2016-04-20), которую я хочу использовать в запросе, например:

    #Query the necessary data
    customer_data_query = """ 
    SELECT FirstName, LastName, Organisation, CustomerRegisterDate FROM `bigquery-bi.ofo.Customers` 
    where CustomerRegisterDate > @max_last_date LIMIT 5) """
    print(customer_data_query)

    # Creating a connection to the google bigquery
    client = bigquery.Client.from_service_account_json('./credentials/cred_ofo.json')
    print("Connection to Google BigQuery is established")
    query_params = [
        bigquery.ScalarQueryParameter("max_last_date", "STRING", max_last_date),
    ]
    job_config = bigquery.QueryJobConfig()
    job_config.query_parameters = query_params
    customer_data = client.query(
        customer_data_query,
        # Location must match that of the dataset(s) referenced in the query.
        location="US",
        job_config=job_config,
    ).to_dataframe()  # API request - starts the query

Какие-нибудь советы, как мне это сделать?

Я пробовал в приведенном выше коде, но не работал.

1 Ответ

1 голос
/ 10 ноября 2019

Было 2 решения:

1 должен был использовать формат:

 """SELECT FirstName, LastName, Organisation, CustomerRegisterDate FROM `bigquery-bi.ofo.Customers` where CustomerRegisterDate > {} LIMIT 5""".format(max_date)

2: определить параметры, которые можно использовать в job_config, что упоминается в параметризованном BigQueryзапрос документации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...