Wmsdoc opened a new issue, #2749: URL: https://github.com/apache/incubator-hugegraph/issues/2749
### Problem Type (问题类型) other exception / error (其他异常报错) ### Before submit - [x] 我已经确认现有的 [Issues](https://github.com/apache/hugegraph/issues) 与 [FAQ](https://hugegraph.apache.org/docs/guides/faq/) 中没有相同 / 重复问题 (I have confirmed and searched that there are no similar problems in the historical issue and documents) ### Environment (环境信息) - Server Version: 1.5.0 (Apache Release Version) - OS: Windows Docker - Data Size: CSV 1000 row ### Your Question (问题描述) 执行 docker exec -it loader bin/hugegraph-loader.sh -g hugegraph -f /loader/dataset/struct.json -s /loader/dataset/schema.groovy -h server -p 8080 导入无法正常处理 edge 数据 日志显示 #### PARSE ERROR: Make sure the primary key fields [cardNumber] are not empty, or check whether the headers or field_mapping are configured correctly >> HugeGraphLoader worked in NORMAL MODE vertices/edges loaded this time : 2000/0 More than 1 parse error, stop parsing and waiting all insert tasks stopped 2000/0 count metrics input read success : 1500 input read failure : 0 vertex parse success : 2000 vertex parse failure : 0 vertex insert success : 2000 vertex insert failure : 0 edge parse success : 0 edge parse failure : 500 edge insert success : 0 edge insert failure : 0 meter metrics total time : 0.176s read time : 0.06s load time : 0.116s vertex load time : 0.059s vertex load rate(vertices/s) : 33898 edge load time : 0.059s edge load rate(edges/s) : 0 我的 csv 源数据 ``` jykh,jyhm,jyje,jysj,dskh,dshm,ukey 6217001104823887,张三15,9816.88,2025-04-02 21:53:03,6217003062649018,张三38,5870058386517560643 6217000890019956,张三10,2364.40,2025-04-04 04:23:03,6217006700549048,张三74,-3772262301771040901 6217006021778933,张三97,5467.86,2025-03-30 00:09:03,106842652859,支付宝-还款,36865958343804092 ``` 我的 struct.json ``` { "version": "2.0", "structs": [ { "id": "card_vertices", "skip": false, "input": { "type": "FILE", "path": "/loader/dataset/transaction_data.csv", "format": "CSV", "delimiter": ",", "date_format": "yyyy-MM-dd HH:mm:ss", "time_zone": "GMT+8", "skipped_line": { "regex": "(^#|^//).*|" }, "compression": "NONE", "header": ["jykh", "jyhm", "jyje", "jysj", "dskh", "dshm", "ukey"], "charset": "UTF-8" }, "vertices": [ { "label": "card", "skip": false, "id": null, "unfold": false, "field_mapping": { "jykh": "cardNumber", "jyhm": "holderName" }, "value_mapping": {}, "selected": ["jykh", "jyhm"], "ignored": [], "null_values": ["NULL", "null", ""], "update_strategies": {} }, { "label": "card", "skip": false, "id": null, "unfold": false, "field_mapping": { "dskh": "cardNumber", "dshm": "holderName" }, "value_mapping": {}, "selected": ["dskh", "dshm"], "ignored": [], "null_values": ["NULL", "null", ""], "update_strategies": {} } ], "edges": [] }, { "id": "transaction_edges", "skip": false, "input": { "type": "FILE", "path": "/loader/dataset/transaction_data.csv", "format": "CSV", "delimiter": ",", "date_format": "yyyy-MM-dd HH:mm:ss", "time_zone": "GMT+8", "skipped_line": { "regex": "(^#|^//).*|" }, "compression": "NONE", "header": ["jykh", "jyhm", "jyje", "jysj", "dskh", "dshm", "ukey"], "charset": "UTF-8" }, "vertices": [], "edges": [ { "label": "transaction", "skip": false, "source": ["jykh"], "unfold_source": false, "target": ["dskh"], "unfold_target": false, "field_mapping": { "jyje": "amount", "jysj": "transTime", "ukey": "ukey" }, "value_mapping": {}, "selected": ["jyje", "jysj", "ukey"], "ignored": [], "null_values": ["NULL", "null", ""], "update_strategies": {} } ] } ] } ``` ### Vertex/Edge example (问题点 / 边数据举例) ```javascript 出现下列报错: #### PARSE ERROR: Make sure the primary key fields [cardNumber] are not empty, or check whether the headers or field_mapping are configured correctly 6217001104823887,张三15,9816.88,2025-04-02 21:53:03,6217003062649018,张三38,5870058386517560643 #### PARSE ERROR: Make sure the primary key fields [cardNumber] are not empty, or check whether the headers or field_mapping are configured correctly 6217000890019956,张三10,2364.40,2025-04-04 04:23:03,6217006700549048,张三74,-3772262301771040901 #### PARSE ERROR: Make sure the primary key fields [cardNumber] are not empty, or check whether the headers or field_mapping are configured correctly 6217006021778933,张三97,5467.86,2025-03-30 00:09:03,106842652859,支付宝-还款,36865958343804092 ``` ### Schema [VertexLabel, EdgeLabel, IndexLabel] (元数据结构) ```javascript 我的 schema 想要达到这样的效果 顶点设计: 使用"card"顶点标签表示交易卡或账户 属性包括:cardNumber(卡号)和holderName(持卡人姓名) 以cardNumber作为主键确保唯一性 边设计: 使用"transaction"边标签表示交易关系 属性包括:amount(金额)、transTime(交易时间)和ukey(唯一标识) 使用ukey作为排序键确保交易的唯一性 // 创建属性键 schema.propertyKey("cardNumber").asText().ifNotExist().create(); // 卡号 schema.propertyKey("holderName").asText().ifNotExist().create(); // 持卡人姓名 schema.propertyKey("amount").asDouble().ifNotExist().create(); // 交易金额 schema.propertyKey("transTime").asDate().ifNotExist().create(); // 交易时间 schema.propertyKey("ukey").asText().ifNotExist().create(); // 交易唯一标识 // 创建顶点标签 - 卡 schema.vertexLabel("card") .properties("cardNumber", "holderName") .primaryKeys("cardNumber") .ifNotExist() .create(); // 创建边标签 - 交易关系 schema.edgeLabel("transaction") .sourceLabel("card") .targetLabel("card") .properties("amount", "transTime", "ukey") .nullableKeys("amount", "transTime") .multiTimes() .sortKeys("ukey") .ifNotExist() .create(); // 创建索引 schema.indexLabel("cardByHolder") .onV("card") .by("holderName") .secondary() .ifNotExist() .create(); schema.indexLabel("transactionByUkey") .onE("transaction") .by("ukey") .unique() .ifNotExist() .create(); schema.indexLabel("transactionByTime") .onE("transaction") .by("transTime") .range() .ifNotExist() .create(); schema.indexLabel("transactionByAmount") .onE("transaction") .by("amount") .range() .ifNotExist() .create(); ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@hugegraph.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org