BigQuery API'复制作业失败:没有这样的字段'恢复json备份时

时间:2016-02-17 02:35:39

标签: google-bigquery

我使用BigQuery API将表备份到云存储,效果很好。但是,当我尝试创建还原作业以将备份文件加载到BigQuery时,我收到一条错误消息,指出复制作业失败,因为没有这样的字段'对于架构中指定的所有字段。模式作为JSON文件保存在repo中,其他api操作使用它,这个问题发生在我们拥有的所有表中,所以我不认为模式更改是问题。下面是工作配置和示例错误,任何想法都会受到赞赏。

{'configuration': {
    'load': {
        'destinationTable': {
            'projectId': 'someproject',
            'tableId': 'backuptesttable',
            'datasetId': 'warehouse_dev'
        },
        'sourceFormat': 'NEWLINE_DELIMITED_JSON',
        'sourceUris': ['gs:///followers/backupfile.json.gz'],
        'schema': 'schema data loaded from file'
    }
}

更新

我将我正在测试的表格切换到'粉丝'因为它有点简单。这是架构:

[{'mode': 'required', 'name': 'time', 'type': 'timestamp'},
 {'mode': 'required', 'name': 'followers', 'type': 'integer'},
 {'mode': 'required', 'name': 'account', 'type': 'string'},
 {'mode': 'required', 'name': 'platform', 'type': 'string'},
 {'mode': 'required', 'name': 'source', 'type': 'string'}]

这是完整的错误:

Copy job failed: {'state': 'DONE', 'errors': [{'reason': 'invalid', 'location': 'File: 0 / Offset:0 / Line:1 / Column:12 / Field:followers', 'message': 'no such field'}, {'reason': 'invalid', 'location': 'File: 0 / Offset:110 / Line:2 / Column:12 / Field:followers', 'message': 'no such field'}, {'reason': 'invalid', 'location': 'File: 0 / Offset:220 / Line:3 / Column:12 / Field:followers', 'message': 'no such field'}, {'reason': 'invalid', 'location': 'File: 0 / Offset:330 / Line:4 / Column:12 / Field:followers', 'message': 'no such field'}, {'reason': 'invalid', 'location': 'File: 0 / Offset:440 / Line:5 / Column:12 / Field:followers', 'message': 'no such field'}], 'errorResult': {'reason': 'invalid', 'location': 'File: 0 / Offset:440 / Line:5 / Column:12 / Field:followers', 'message': 'no such field'}}

这是备份文件中的示例行:

{"followers":"12345","account":"some account","platform":"plus","source":"API","time":"2015-04-14 14:58:13 UTC"}

'跟随'始终是行中的第一个字段,但是bigquery似乎无法将其识别为给定模式的有效字段...我尝试重新排列模式文件中字段的顺序无效。

0 个答案:

没有答案