使用gcloud python将空数据上传到Bigquery

时间:2016-09-24 16:42:08

标签: python google-bigquery gcloud-python google-cloud-python

我尝试使用gcloud python library上传几行数据,但没有成功。以下是取自latest documentation

的示例代码
client = bigquery.Client()
dataset = client.dataset('test')
table = dataset.table("test_table")
rows = [("foo", "bar"), ("foo2", "bar2")]
result = table.insert_data(rows)

如果我查询最新的上传,我会得到:

[(None, None), (None, None)]

所以我添加空字段。在文档中,它说上传的行应该是“元组列表”,但这似乎不起作用。我的架构有两个字符串字段。 Unicode字段也不起作用,我也没有得到任何错误结果,这使得调试变得困难。什么提示我做错了什么?

1 个答案:

答案 0 :(得分:1)

明确声明表格中的架构有助于解决此问题。即,不应使用table = dataset.table('test_table'),而应使用以下内容:

left = SchemaField('left', 'STRING', 'REQUIRED') right = SchemaField('right', 'STRING', 'REQUIRED') table = dataset.table('test_table', schema=[left, right])

我在Github上就此发了一个问题。如果感兴趣,你可以read more here