我使用Big Query Python SDK将数据插入Big Query。 基本上,我检查表是否已经存在以及在使用insert_data函数插入数据之后(下面的代码)。
我没有任何错误,我可以在表预览流缓冲区中看到正确的估计行数。问题是几小时后,当预览可用时,所有字段都设置为空...
知道发生了什么?
bq_table = bq_dataset.table(bq_table_prefix + date)
bq_table.schema = [
SchemaField('Date', 'string', mode='nullable'),
SchemaField('Hour', 'string', mode='nullable'),
SchemaField('Value', 'string', mode='nullable'),
]
if bq_table.exists():
bq_table.delete()
bq_table.create()
#tuples is [('string','string','string'),('string','string','string')]
errors = bq_table.insert_data(tuples)
if not errors:
print('Success')
else:
print('Errors:')
print(errors)
答案 0 :(得分:2)
不确定您是否属于这种情况,但如果删除表格,则必须至少等待 2分钟才能再次在其上流式传输数据。(link)
测试这是否正在发生的一种方法是在一些新创建的表中运行您的进程,这样您就不必删除它并查看它是否有效。如果是这样,那么您可能必须更改上传数据的策略(通过避免删除或等待几分钟再开始流式传输)。