【问题标题】:Loading Datastore Backup Data into BigQuery writeDisposition将数据存储区备份数据加载到 BigQuery writeDisposition
【发布时间】:2013-02-12 01:21:22
【问题描述】:

我们正在使用大查询 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?

谢谢,

布雷登

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

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

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

    【讨论】:

    • 我认为 WRITE_TRUNCATE 会用新数据替换现有表的全部内容。我错过了什么吗?
    • WRITE_TRUNCATE 应该支持数据存储导入。如果您在code.google.com/p/google-bigquery/issues/… 提交错误,我们应该能够修复它并在完成时通知您。同时,您可以导入到临时表,然后从设置了 WRITE_TRUNCATE 的临时表中进行复制。
    猜你喜欢
    • 1970-01-01
    • 2017-02-10
    • 2016-06-07
    • 2019-02-17
    • 1970-01-01
    • 1970-01-01
    • 2014-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多