2016-05-31 4 views
0

Я новичок в OrientDB, имея небольшой опыт работы с Neo4J, и у меня возникают проблемы с производительностью при попытке загрузить и создать Edges с помощью инструмента OETL.BAT. Мне нужно создать ~ 4.4 миллиона ребер между узлами (примерно 42 миллиона, не все они используются на этом этапе etl). Узлы «Customer» уже загружены, а список краев, который я загружаю, очень прост (как показано ниже) и просто имеет источник & идентификатор назначения для каждого края, его целью является моделирование платежей между клиентами.OrientDB slow Edge Создание ETL

В настоящее время я получаю пропускную способность ~ 23-30 в секунду, в соответствии с инструментом etl. Я прибегал к использованию CSV-файла, а не к JDBC-соединению с моей RDBMS, и я тоже в режиме «plocal».

Есть ли более быстрый способ сделать это? или я, возможно, ошибаюсь?

Заказчик - Vertex 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"] } 
     ] 
    } 
} 
+0

Вы можете увидеть это [вопрос] (http://stackoverflow.com/questions/37053190/orientdb-fastest-batchimport/37065876#37065876) –

ответ

0

Вы должны поставить "batchCommit" : 1000 в «загрузчике». Также «parallel»: true в «config»