以下Bigquery插入失败的原因是什么?

问题描述 投票:0回答:1

您好我试图在表中插入一行,我成功创建了如下表:

schema = [{'name': 'foo', 'type': 'STRING', 'mode': 'nullable'},{'name': 'bar', 'type': 'FLOAT', 'mode': 'nullable'}]
created = client.create_table(dataset='api_data_set_course_33', table='insert_test_333', schema=schema)

print('Creation Result ',created)

然而,当我推动行时,我得到了假,

rows =  [{'id': 'NzAzYmRiY', 'one': 'uno', 'two': 'dos'}]
inserted = client.push_rows('api_data_set_course_33','insert_test_333', rows, 'id')

print('Insertion Result ',inserted)

所以我不知道出了什么问题,我真的很感谢支持克服这个任务这是我正在测试的API:

https://github.com/tylertreat/BigQuery-Python

这是我的完整代码:

schema = [{'name': 'foo', 'type': 'STRING', 'mode': 'nullable'},{'name': 'bar', 'type': 'FLOAT', 'mode': 'nullable'}]
created = client.create_table(dataset='api_data_set_course_33', table='insert_test_333', schema=schema)

print('Creation Result ',created)

rows =  [{'id': 'NzAzYmRiY', 'one': 'uno', 'two': 'dos'}]
inserted = client.push_rows('api_data_set_course_33','insert_test_333', rows, 'id')

print('Insertion Result ',inserted)

输出:

Creation Result  True
Insertion Result  False

经过反馈我试过:

>>> client = get_client(project_id, service_account=service_account,private_key_file=key, readonly=False)
>>> schema = [{'name': 'foo', 'type': 'STRING', 'mode': 'nullable'},{'name': 'bar', 'type': 'FLOAT', 'mode': 'nullable'}]
>>> rows =  [{'id': 'NzAzYmRiY', 'foo': 'uno', 'bar': 'dos'}]
>>> inserted = client.push_rows('api_data_set_course_33','insert_test_333', rows, 'id')
>>> print(inserted)
False

并且:

>>> rows =  [{'id': 'NzAzYmRiY', 'foo': 'uno', 'bar': 45}]
>>> inserted = client.push_rows('api_data_set_course_33','insert_test_333', rows, 'id')
>>> print(inserted)
False

但是我只是假的

google-bigquery python-3.6
1个回答
1
投票

您的行字段名称与架构字段名称不匹配。试试这个:

rows =  [{'id': 'NzAzYmRiY', 'foo': 'uno', 'bar': 'dos'}]
© www.soinside.com 2019 - 2024. All rights reserved.