我有一个问题,
我无法为要上传到BigQuery的json文件分配json模式,因为我的字段名称中包含@。
"Events": {
"type": "object",
"properties": {
"Event": {
"type": "object",
"properties": {
"@places": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"comp_id": {
"type": "string"
},
"manager_id": {
"type": "integer"
},
"price": {
"type": "integer"
},
"size": {
"type": "integer"
},
"location": {
"type": "integer"
},
"date": {
"type": "object",
"properties": {
"locale": {
"type": "string"
答案 0 :(得分:0)
虽然您放入JSON密钥的任何字符串都有效,但另请参阅Q: Which characters are valid/invalid in a JSON key name?,数据的使用者可能具有实际上不允许的特定要求。
在您的情况下,BigQuery是消费者,可能只是因为它不接受某些字符。如果是这种情况,除了从您的架构中移除特殊字符(' @')之外别无选择。
答案 1 :(得分:0)
JSON文件中的字段将作为BigQuery表中的字段加载。 BigQuery表的字段名中不允许使用@,因此不能在JSON文件中使用它。
来自BQ文件:
名称必须仅包含字母(a-z,A-Z),数字(0-9)或 下划线(_),必须以字母或下划线开头。该 最大长度为128个字符。