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

Uploading empty data to Bigquery using gcloud python

我尝试使用 gcloud python library and don't succeed. Here is the sample code taken from the 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)]

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

在 table 中明确声明架构将有助于解决此问题。即,而不是使用 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