Neo4Jで少し経験があり、OETL.BATツールを使用してエッジを読み込んで作成しようとすると、パフォーマンスの問題が発生します。私はノード間に~440万のエッジを作成する必要があります(およそ4200万、すべての段階がetlのこの段階で使用されるわけではありません)。 「顧客」ノードは既にロードされており、ロードリストは非常に単純で(以下のように)、各エッジの宛先IDは&です。その目的は顧客間の支払いをモデル化することです。OrientDBスローエッジETL作成
現在、etlツールによれば、毎秒〜23-30のスループットが得られます。私はRDBMSへのJDBC接続ではなく、CSVファイルを使うことに頼っていました。私は "plocal"モードにもなっています。
これを行う方法はありますか?または私はおそらく間違ったアプローチをしていますか?
カスタマー - 頂点 CISNumber、名前支払っ
- エッジ SourceCISNumber、DestCISNumber、金額、TransactionCount事前に
おかげ
{
"source": { "file": { "path": "/datafiles/PersonalCustomers/Edges.csv" } },
"extractor": { "row": {} },
"transformers": [
{"csv": {} },
{"merge": {"joinFieldName": "SourceCISNumber", "lookup": "Customer.CISNumber"} },
{"vertex": {"class": "Customer", "skipDuplicates": true} },
{ "edge":
{
"class": "PAID",
"joinFieldName": "DestCISNumber",
"lookup": "Customer.CISNumber",
"unresolvedLinkAction": "SKIP",
"edgeFields":
{
"Volume": "${input.Transactioncount}",
"Value": "${input.Amount}"
}
}
},
{"field": {"fieldNames": ["SourceCISNumber", "DestCISNumber", "Transactioncount", "Amount"], "operation": "remove" } }
],
"loader": {
"orientdb": {
"dbURL": "plocal:/orientdb/databases/Customers",
"dbType": "graph",
"batchCommit": 500,
"useLightweightEdges" : true,
"classes": [
{"name": "PAID", "extends": "E"},
]
},
"indexes": [
{"class":"Customer", "fields":["CISNumber:long"] }
]
}
}
この[質問](http://stackoverflow.com/questions/37053190/orientdb-fastest-batchimport/37065876#37065876)が表示されます。 –