繁体   English   中英

将 csv 文件导入 ArangoDB 时缺少“_from”或“_to”属性

[英]missing '_from' or '_to' attribute when importing csv file into ArangoDB

我正在尝试将两个 csv 文件导入 ArangoDB。 一个创建为文档“帐户”,另一个创建为边缘“交易”。 对于帐户,它有效。 但是,在导入交易数据时,会出现错误。 我尝试使用以下代码从命令提示符(Windows 10)导入此 csv 文件:

arangoimport --file transactions.csv --type csv --create-collection true -server.database AML --create-collection-type edge --collection transactions --translate "SENDER_ACCOUNT_ID =_from" --translate " RECEIVER_ACCOUNT_ID =_to"

在我的数据中,第一行是 header,其中包括TX_ID,SENDER_ACCOUNT_ID,RECEIVER_ACCOUNT_ID,TX_TYPE,TX_AMOUNT,TIMESTAMP,IS_FRAUD,ALERT_ID 我的原始数据如下所示:交易

我知道边缘需要 _from 和 _to 属性。 因此,在我的命令行中,我使用“翻译”将输入文件中的列重命名为 _from 和 _to,如上面的代码所示。 但它仍然给出如下错误消息:

错误信息

缺少 '_from' 或 '_to' 属性,有问题的文档: {"TX_ID":17144,"_from":84,"_to":87, ... }

你能给我一些提示吗? 我在这个问题上苦苦挣扎了好几个小时,一个月前也看到过类似的问题,但没有答案。 希望有人可以帮助我。 非常感谢。

正如 gurisko 在评论中指出的那样, _from_to必须是有效的文档标识符。 即,顶点集合的名称,后跟正斜杠和顶点的文档键,例如"accounts/87"

在错误消息中,您可以看到属性值是数字,但必须是带有集合名称的字符串。 但是,您不必修改 CSV 文件,因为arangoimport让您通过启动选项--from- --from-collection-prefix--to-collection-prefix预先添加集合名称。

arangoimport --file transactions.csv --type csv --server.database AML --create-collection --create-collection-type edge --collection transactions --translate SENDER_ACCOUNT_ID=_from --translate RECEIVER_ACCOUNT_ID=_to --from-collection-prefix accounts --to-collection-prefix accounts

导入的文档应如下所示:

{ "TX_ID": 17144, "_from": "accounts/84", "_to": "accounts/87", ... }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM