首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法将数据插入到现有BigQuery表中?

无法将数据插入到现有BigQuery表中?
EN

Stack Overflow用户
提问于 2019-08-26 21:33:51
回答 2查看 949关注 0票数 0

我正在尝试将一些数据插入到已经存在的bigquery表中。但我无法将这些数据放入表中。

我尝试了谷歌(insert_rows)提供的标准示例,但没有成功。我也提到过这一点:,https://github.com/googleapis/google-cloud-python/issues/5539,我也尝试过将这些数据作为元组列表传递,但问题也是一样的。

代码语言:javascript
复制
from google.cloud import bigquery
import datetime
bigquery_client = bigquery.Client()
dataset_ref = bigquery_client.dataset('my_dataset_id')
table_ref = dataset_ref.table('my_destination_table_id')
table = bigquery_client.get_table(table_ref)
rows_to_insert = [
    {u'jobName': 'writetobigquery'},
    {u'startDatetime': datetime.datetime.now().strftime('%Y-%m-%d-%H%M%S')},
    {u'jobStatus': 'Success'},
    {u'logMessage': 'NA'},
]
errors = bigquery_client.insert_rows(table, rows_to_insert)

当我执行这个,我没有得到一个错误,但它没有写任何东西到表中。如果有人提出对我有用的建议,那就太好了。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-27 15:55:52

在对你的代码做了一些修改之后,我可以让它像预期的那样工作。我将您的行从一个只有一个值的字典列表更改为在一行中包含所有列的字典。我还更改了datetime格式,因为它对BigQuery无效(可以在here中找到有效格式)。因此,以下代码段应该可以很好地工作:

代码语言:javascript
复制
from google.cloud import bigquery
import datetime

bigquery_client = bigquery.Client()
dataset_ref = bigquery_client.dataset('my_dataset_id')
table_ref = dataset_ref.table('my_destination_table_id')
table = bigquery_client.get_table(table_ref)
rows_to_insert = [
    {u'jobName': 'writetobigquery',
    u'startDatetime': datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
    u'jobStatus': 'Success',
    u'logMessage': 'NA'}
]
errors = bigquery_client.insert_rows(table, rows_to_insert)
print "Errors occurred:", errors
票数 1
EN

Stack Overflow用户

发布于 2019-08-27 00:10:37

您的行不应该是字典列表吗?我假设您的表模式类似于jobName, startDatetime, jobStatus, logMessage,那么:

代码语言:javascript
复制
rows_to_insert = [
    {
      u'jobName': 'writetobigquery',
      u'startDatetime': datetime.datetime.now().strftime('%Y-%m-%d-%H%M%S'),
      u'jobStatus': 'Success',
      u'logMessage': 'NA'
    }
]
errors = bigquery_client.insert_rows(table, rows_to_insert)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57658984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档