簡體   English   中英

檢查 python 中的 bigquery 查詢是否成功

[英]Check if bigquery query was successful or not in python

我正在嘗試測試我在 python 中創建或替換查詢的結果是否成功。 我編寫了如下代碼

    PROJECT = project_id
    DATASET = dataset
    FINAL_TABLE = final_table
    MAIN_TABLE = main_table
    main_query = \
    f'CREATE OR REPLACE TABLE `{PROJECT}.{DATASET}.{FINAL_TABLE}` AS \
    (SELECT * FROM `{PROJECT}.{DATASET}.{MAIN_TABLE}` WHERE region="us")'
    result = BQ.query(main_query)
    if result.errors():
        raise Exception('Table was not successfullly refreshed in bigQuery')

但是 result.errors() 語法不能正常工作。 嘗試實現這一目標的語法是什么?

result.errors()語法不起作用,因為result.errors實際上是QueryJob的屬性而不是方法。 它是可能發生的錯誤的列表。 但是,如果沒有發生錯誤,則result.errorsNone (另請參閱: errors API 參考)。

因此,只需刪除括號,您的代碼就可以工作:

PROJECT = project_id
DATASET = dataset
FINAL_TABLE = final_table
MAIN_TABLE = main_table
main_query = \
f'CREATE OR REPLACE TABLE `{PROJECT}.{DATASET}.{FINAL_TABLE}` AS \
(SELECT * FROM `{PROJECT}.{DATASET}.{MAIN_TABLE}` WHERE region="us")'
result = BQ.query(main_query)
if result.errors:
    raise Exception('Table was not successfullly refreshed in bigQuery')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM