首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用bulkloader更新数据

使用bulkloader更新数据
EN

Stack Overflow用户
提问于 2014-09-13 23:43:20
回答 1查看 53关注 0票数 0

我正在使用python脚本上传一些数据到我的应用引擎后端。

下面是它在bulkloader.yaml中的定义

代码语言:javascript
复制
- kind: Subcategory
  connector: csv
  connector_options:
    encoding: utf-8
  property_map:
    - property: __key__
      external_name: id
      export_transform: transform.key_id_or_name_as_string
      import_transform: transform.none_if_empty(int)

    - property: name
      external_name: name

    - property: categoryId
      external_name: categoryId    
      export_transform: transform.key_id_or_name_as_string
      import_transform: transform.none_if_empty(int) 

    - property: language
      external_name: language 

    - property: active
      external_name: active
      import_transform: bool

问题是,active列稍后会动态变化,下次我再次上传相同的数据时,它将被替换为false,因为,column在csv中不存在。

我尝试从bulkloader中删除该列,但随后这些列就消失了。这可能是因为实体被替换而不是更新。有没有办法在上传时保留已有的列而不替换/删除它们?

EN

回答 1

Stack Overflow用户

发布于 2014-09-14 10:10:03

很抱歉,没有简单的方法来合并属性与批量加载程序。正如你所注意到的,它基于你的CSV数据创建实体,然后用已知的密钥存储它们,覆盖现有的实体。要完成合并,您需要批量下载现有实体,在数据集中执行合并,然后加载合并的实体。

在加载程序逻辑期间,有一些钩子可以用来做一些奇特的事情,这可能有助于实现合并工具。请参阅相关的SO问题:Merge multiple columns in bulkloader,但您仍然需要以某种方式从数据存储中获取要合并的属性。数据存储区无法自行执行合并。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25824840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档