【问题标题】:Big Query can't use INSERT SQL query using BigQuery-PythonBig Query 无法通过 BigQuery-Python 使用 INSERT SQL 查询
【发布时间】:2020-05-08 04:39:54
【问题描述】:
from bigquery import get_client
# JSON key provided by Google
json_key = 'My First Project-5b17b4c077da.json'
client = get_client(json_key_file=json_key, readonly=True)
query = "INSERT INTO NTT.summary001 VALUES ('a','b','c','d','e','f','g','h','i');"
print(query)
try:
    results = client.query(query, timeout=10)
except Exception as e:
    raise e

错误: HttpError:https://bigquery.googleapis.com/bigquery/v2/projects/robotic-column-270803/queries?alt=json 在第 1 行第 36 列返回“遇到”。 [尝试使用标准 SQL (https://cloud.google.com/bigquery/docs/reference/standard-sql/enabling-standard-sql)]"> 版本: 蟒蛇 3.5.6 熊猫-GBQ 0.13.1 BigQuery-Python 1.15.0

【问题讨论】:

    标签: python google-bigquery


    【解决方案1】:

    您需要在表 id 周围加上反引号 (`):

    query = "INSERT INTO `NTT.summary001` VALUES ('a','b','c','d','e','f','g','h','i');"
    

    您可能还需要交换报价,bq 客户端可能很挑剔:

    query = 'INSERT INTO `NTT.summary001` VALUES ("a","b","c","d","e","f","g","h","i");'
    

    错误说明第 1 行第 36 列位于 'a' 的位置。

    【讨论】:

    • 实际上出了点问题,但替换为您的评论查询错误没有改变。
    • 我刚刚意识到您没有使用 Google 提供的客户端,可能值得尝试标准 BigQuery python 客户端库。
    • 是的,我使用的是惠普电脑,还有其他选择吗?
    • 我可以使用旧版 SQL 吗?
    猜你喜欢
    • 2021-11-02
    • 2019-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多