我一直在尝试使用python google-cloud包from google.cloud import bigquery
将数据流式传输到BigQuery。
我观察到的是它拒绝插入几行说
[{u'debugInfo': u'', u'reason': u'invalid', u'message': u'no such field.', u'location': u'user.new_user'}]}]
但是,我可以在架构table.schema
[(u'USER', u'record', u'NULLABLE', None, (SchemaField(u'new_user', u'string', u'NULLABLE', None, ())))]
这是因为,我正在尝试流式传输以比BigQuery文档中提到的更快的速度更新?
我试图在终端上运行相同的东西,这没有错误。当我尝试以更高的速率流式传输时会发生这种情况。
目前,我正在使用
self.bigquery_client.create_rows_json(table, batched_event,retry=bigquery.DEFAULT_RETRY.with_deadline(10),skip_invalid_rows=True, ignore_unknown_values=True)
答案 0 :(得分:3)
如果您在使用流式传输时修改架构,则流式传输系统不会立即获取架构更改。更多信息:
https://cloud.google.com/bigquery/troubleshooting-errors#metadata-errors-for-streaming-inserts