如何在使用bulkloader时在appengine中填充“ID”字段?
更新时间:见下文
我想通了如何获取我的数据集填写项名称字段,以便我现在已经减少2写入OPS(8下)。但我仍然有这个额外的空列“ID”。我曾尝试bulkloader.py的各种配置,但我无法填充该列,并希望减少我写OPS进一步下跌...
这是我有:
python_preamble:
- import: base64
- import: re
- import: google.appengine.ext.bulkload.transform
- import: google.appengine.ext.bulkload.bulkloader_wizard
- import: google.appengine.ext.db
- import: google.appengine.api.datastore
- import: google.appengine.api.users
transformers:
- kind: Word
connector: csv
property_map:
- property: __key__
external_name: word
export_transform: transform.key_id_or_name_as_string
- property: ID
external_name: ID
# How to configure this one to use up that silly empty column called "ID"?
- property: otherlangs
external_name: otherlangs
这里是头我的csv文件和一些示例行:
$ head allting.csv
ID,word,otherlangs
100,a,it|uno|
200,aaltos,fi|aaltojen|
300,aardvark,is|jarðsvín|nl|aardvarken|
更新: 好吧,我发现了如何在“项名称”列的费用填充“ID”列...
我改变了我的bulkload.py看起来像这样:
transformers:
- kind: Word
connector: csv
connector_options:
encoding: utf-8
columns: from_header
property_map:
- property: __key__
external_name: id
export_transform: transform.key_id_or_name_as_string
import_transform: transform.create_foreign_key('id', key_is_id=True)
- property: word·
external_name: word·
- property: otherlangs·
external_name: otherlangs·
CSV文件看起来是这样的:
id,word,otherlangs
100,a,it|uno|
200,aaltos,fi|aaltojen|
...
而在数据存储浏览器的输出看起来像现在这样:
仍想知道是否有任何方法来填充ID和“密钥名称”列 并将写入操作降至4?