如何配置批量加载程序.yaml 以将数据从 csv 上传到数据存储



我正在尝试使用 appcfg.py 将 csv 文件上传到数据存储。我正在使用的命令是这样的:

appcfg.py upload_data --application=s~hay-fe --kind=CasillaFinal --filename=CasillaFinal.csv --url=http://hay-fe.appspot.com/remote_api --config_file=bulkloader.yaml

然后我得到下一个错误:

BadArgumentError:需要整数 id 或字符串名称作为参数 2;收到 None (NoneType(。

这是我的卡西利亚决赛.csv:http://pastebin.com/embed_js.php?i=7dp24Yn1

这是我的bulkloader.yaml:http://pastebin.com/embed_js.php?i=iPE8PcZQ

我认为问题出在第一列(ID(上,因为我没有任何导入转换,但我不知道如何进行此转换。

这里有"表"的java定义:

private @Id Long id;
private Key<EntidadFederativa> claveEntidad;
private int seccion;
private String tipoCasilla;
private String domicilio;
private String ubicacion;
private String referencia;
private String latitud;
private String longitud;
private int distrito;
private int claveMunicipio;
private String municipio;
private String letraInicial;
private String letraFinal;
private String casillaEspecial;

如您所见,我正在使用对象化来实现持久性。

顺便说一句,我想知道列的顺序是否重要,因为数据存储管理中的顺序与csv文件中的顺序不同。以下是数据存储中的顺序:

id|casillaEspecial|claveEntidad|claveMunicipio|distrito|domicilio|latitud|letraFinal|letraInicial|longitud|municipio|referencia|seccion|tipoCasilla|ubicacion

而在 CSV 中是:

id|claveEntidad|seccion|tipoCasilla|domicilio|ubicacion|referencia|latitud|longitud|distrito|claveMunicipio|municipio|letraInicial|letraFinal|casillaEspecial

最后,我想知道订单索引是从 0 还是 1 开始,因为错误说错误在参数 2 中(预期整数 id 或字符串名称作为参数 2(。

我发现它缺少 csv 文件中的标头,当我添加标头时,它开始工作。

相关内容

  • 没有找到相关文章

最新更新