Python BigQuery在流式处理时拒绝插入少量记录

Python BigQuery在流式处理时拒绝插入少量记录,python,google-cloud-platform,google-bigquery,streaming,schema,Python,Google Cloud Platform,Google Bigquery,Streaming,Schema,我一直在尝试使用python google cloud package从google.cloud导入BigQuery将数据流传输到BigQuery 我所观察到的是,它拒绝插入几行这样说 [{u'debugInfo': u'', u'reason': u'invalid', u'message': u'no such field.', u'location': u'user.new_user'}]}] 但是,我可以在schema表中看到该列。schema [(u'USER', u'record'

我一直在尝试使用python google cloud package
从google.cloud导入BigQuery
将数据流传输到BigQuery

我所观察到的是,它拒绝插入几行这样说

[{u'debugInfo': u'', u'reason': u'invalid', u'message': u'no such field.', u'location': u'user.new_user'}]}]
但是,我可以在schema
表中看到该列。schema

[(u'USER', u'record', u'NULLABLE', None, (SchemaField(u'new_user', u'string', u'NULLABLE', None, ())))]
这是因为,我试图以比BigQuery文档中提到的更高的速度进行流式处理和更新吗

我试着在终端上运行同样的程序,结果没有出错。当我尝试以更高的速率传输时,就会发生这种情况

目前,我正在使用as

self.bigquery_client.create_rows_json(table, batched_event,retry=bigquery.DEFAULT_RETRY.with_deadline(10),skip_invalid_rows=True, ignore_unknown_values=True)

如果在使用流媒体时修改模式,流媒体系统不会立即获取模式更改。更多信息:


您能否分享更好的解决方法?如果不只是一个稀疏的模式,我们如何处理那些不断改变模式的数据,一个可能性是考虑一个更广义的模式,它不需要模式进化。BigQuery支持复杂类型,因此可以将一些东西建模为一个广义键/值结构数组作为示例。另一个策略可能是更积极地退避,并在遇到模式不匹配的响应时重试。感谢您的帮助。你能提供一些关于重试的见解吗?我是否可以在流式处理时只获取批处理中的失败记录,以便在大约10分钟后重试?