Tôi có hai tập tin CSV:Làm thế nào để sử dụng OrientDB ETL để tạo ra cạnh chỉ
Đầu tiên chứa ~ hồ sơ 500M theo định dạng sau
id,name
10000023432,Tom User
13943423235,Blah Person
Second chứa ~ mối quan hệ bạn 1.5 tỷ trong các định dạng sau
fromId,toId
10000023432,13943423235
Tôi đã sử dụng công cụ ETL OrientDB để tạo các đỉnh từ tệp CSV đầu tiên. Bây giờ, tôi chỉ cần tạo ra các cạnh để thiết lập mối quan hệ hữu nghị giữa chúng.
Tôi đã thử nhiều cấu hình của file json ETL cho đến nay, mới nhất là cái này:
{
"config": {"parallel": true},
"source": { "file": { "path": "path_to_file" } },
"extractor": { "csv": {} },
"transformers": [
{ "vertex": {"class": "Person", "skipDuplicates": true} },
{ "edge": { "class": "FriendsWith",
"joinFieldName": "from",
"lookup": "Person.id",
"unresolvedLinkAction": "SKIP",
"targetVertexFields":{
"id": "${input.to}"
},
"direction": "out"
}
},
{ "code": { "language": "Javascript",
"code": "print('Current record: ' + record); record;"}
}
],
"loader": {
"orientdb": {
"dbURL": "remote:<DB connection string>",
"dbType": "graph",
"classes": [
{"name": "FriendsWith", "extends": "E"}
], "indexes": [
{"class":"Person", "fields":["id:long"], "type":"UNIQUE" }
]
}
}
}
Nhưng thật không may, điều này cũng tạo ra các đỉnh với "từ" và "đến" bất động sản, ngoài để tạo cạnh.
Khi tôi cố gắng loại bỏ các biến đỉnh, quá trình ETL ném một lỗi:
Error in Pipeline execution: com.orientechnologies.orient.etl.transformer.OTransformException: edge: input type '[email protected]3
6a8' is not supported
Exception in thread "OrientDB ETL pipeline-0" com.orientechnologies.orient.etl.OETLProcessHaltedException: Halt
at com.orientechnologies.orient.etl.OETLPipeline.execute(OETLPipeline.java:149)
at com.orientechnologies.orient.etl.OETLProcessor$2.run(OETLProcessor.java:341)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.orientechnologies.orient.etl.transformer.OTransformException: edge: input type '[email protected]36a8' is not suppor
ted
at com.orientechnologies.orient.etl.transformer.OEdgeTransformer.executeTransform(OEdgeTransformer.java:107)
at com.orientechnologies.orient.etl.transformer.OAbstractTransformer.transform(OAbstractTransformer.java:37)
at com.orientechnologies.orient.etl.OETLPipeline.execute(OETLPipeline.java:115)
... 2 more
tôi đang thiếu gì ở đây?
Tôi có trình tải của riêng mình bằng cách sử dụng API Java. Tôi đã tự hỏi nếu nó có thể sử dụng công cụ ETL, bởi vì có các móc song song tự động trong công cụ. Cảm ơn vì câu trả lời. – lambdapilgrim