python - 如何将 JSON 数据发布到 PubSub,然后推送到 BigQuery?
问题描述
我正在以 JSON 格式获取 Twitter 数据,并且我想将该数据(相同的 JSON 格式)推送到 PubSub 主题中。我能够在主题中发布数据,但是当我尝试将数据推送到BigQuery
中时,它将数据存储到“ Error record table
”中(我已经创建了BigQuery
具有正确模式的表并给出了table_id
和dataset_id
as credentials
)
解决方案
问题可能是由于以下原因:
1] 目标表架构和以 JSON 格式指定的表架构不同。
2] 列的数据类型和 JSON 格式指定的数据类型不同。
可以采取以下纠正措施:
1] 为了解决架构不匹配问题,请确保匹配 JSON 和目标表架构。在创建架构时,请尝试遵循文档 [1] 中提到的这些步骤,该文档解释了如何指定 BigQuery 表的架构。
2] 由于数据类型不匹配,请尝试确保指定正确的数据类型。
考虑以下 JSON 模式:
{"message":"hi","id":65,marks:89.8}
在上面的例子中,其中 message=string,id=integer,marks=float
因此,任何数据类型不匹配的消息都会在错误记录表中发布。
参考:
[1] https://cloud.google.com/bigquery/docs/schemas
[2] https://cloud.google.com/bigquery/docs/error-messages#metadata-errors-for-streaming-inserts
[3] https://cloud.google.com/dataflow/docs/guides/templates/provided-streaming#cloudpubsubtobigquery
推荐阅读
- unity3d - 实例化 GameObjects 并在它撞到地面时更改材质
- html - CSS object-fit 拉伸图像
- redis - 使用redis作为我的核心BD时我的业务逻辑放在哪里
- arrays - 如何从开关中获取多个值
- html - “文本下划线偏移”在“显示:块”中不起作用
- swift - 'NSButton' 类型的值没有成员 'Clicked' | 带有按钮的 Xcode 错误
- reactjs - React/Redux - 向一个组件添加排序或过滤功能
- r - R按类别将列表拆分为子列表
- go - $GOPATH[i] 和 $GOPATH[d] 是什么?
- geometry - 如何创建一个半径等于 1/\sqrt{5} 的圆?