0

我们正在使用大查询 v2 api 将数据存储备份加载到大查询中。我们正在指定这个 JSON 配置:

{'configuration': {
    'load': {
        'sourceFormat'     : 'DATASTORE_BACKUP',
        'writeDisposition' : 'WRITE_TRUNCATE',
        'sourceUris'       : sourceUris,
        'destinationTable' : {
            'projectId': settings.PROJECT_ID,
            'datasetId': datasetId,
            'tableId'  : entityKind
            }
        }
    }
}

我们已经将该实体加载到 BigQuery 中一次,现在期待进一步加载以用新数据替换现有表。我们没有看到这一点,但插入作业请求中出现错误:

u'status': {
u'state': u'DONE',
u'errors': [
  {
    u'reason': u'invalid',
    u'message': u'Cannot import a datastore backup to a table that already has a schema.'
  }
],
u'errorResult': {
  u'reason': u'invalid',
  u'message': u'Cannot import a datastore backup to a table that already has a schema.'
}

},

这是否预期 writeDisposition == 'WRITE_TRUNCATE' 不适用于 DATASTORE_BACKUP?

谢谢,

布雷登

4

1 回答 1

0

是的,目前,使用 Datastore 管理员备份作为源文件的提取作业目前仅支持创建新的 BigQuery 表(或替换现有 BigQuery 表的全部内容) - 目前无法追加到现有表。

请注意,此功能处于早期实验阶段,在我们计划此功能的新迭代时,我们感谢您的反馈。

于 2013-02-11T17:21:22.050 回答