Hi Gregor, Please could you post here the *full* stack trace? I need the ETL module that report this problem. I see this:
at com.orientechnologies.orient.core.index.OIndexTxAwareOneValue.checkEntry(OIndexTxAwareOneValue.java:221) But not the rest. Lvc@ On 16 February 2015 at 10:53, Gregor Frey <[email protected]> wrote: > Salve! > the exception complains about a duplicate record, and I think that's quite > okay. The only thing is that I do not want to stop the whole ETL process, > when this exception occurs but rather want to skip the record and continue > with the next. > To better understand my requirement: I have an excel that contains > employees of a company. This excel also contains the cost centers of each > the employees, in the same row as name, address and so on. So the excel is > far from being normalized (this is quite often the case with excels). My > problem is that I want to create not only the employees (as vertices) out > of this excel, but the cost centers as well. But as the cost centers occur > more than once, I get duplicate key errors. > > Here is the exception: > > [2:vertex] DEBUG Transformer input: > {cc:Geschäftsleitung,cc_no:1,responsible:0,next_cc:1} > > Error in Pipeline execution: > com.orientechnologies.orient.core.storage.ORecordDuplicatedException: > Cannot index record > CostCenter{cc:Geschäftsleitung,cc_no:1,responsible:0,next_cc:1}: found > duplicated key '1' in index 'CostCenter.cc_no' previously assigned to the > record #11:0 RID=#11:0 > > com.orientechnologies.orient.core.storage.ORecordDuplicatedException: > Cannot index record > CostCenter{cc:Geschäftsleitung,cc_no:1,responsible:0,next_cc:1}: found > duplicated key '1' in index 'CostCenter.cc_no' previously assigned to the > record #11:0 RID=#11:0 > > at > com.orientechnologies.orient.core.index.OIndexTxAwareOneValue.checkEntry(OIndexTxAwareOneValue.java:221) > > > And, if anyone is interested, this is my config file (perhaps someone as > proposals to improve it): > > { > > "config": { > > "log": "debug" > > }, > > "source": { > > "file": { > > "path": "/Users/d022051/NetBeansProjects/ETL/Personalstamm - > Kostenstellenhierarchie.csv" > > } > > }, > > "extractor": { > > "row": {} > > }, > > "transformers": [ > > { > > "csv": { > > "skipFrom": 0, > > "skipTo": 0, > > "nullValue": "", > > "separator": ";", > > "columns": ["id:integer", "name", "firstname", "title", > "birthday:string", "function", "country", "cc", "cc_no:integer", > "responsible:integer", "next_cc:integer"] > > } > > }, { > > "field": { > > "fieldName": "id", > > "operation": "remove" > > } > > }, > > { > > "field": { > > "fieldName": "name", > > "operation": "remove" > > } > > }, > > { > > "field": { > > "fieldName": "firstname", > > "operation": "remove" > > } > > }, > > { > > "field": { > > "fieldName": "title", > > "operation": "remove" > > } > > }, > > { > > "field": { > > "fieldName": "birthday", > > "operation": "remove" > > } > > }, > > { > > "field": { > > "fieldName": "function", > > "operation": "remove" > > } > > }, > > { > > "field": { > > "fieldName": "country", > > "operation": "remove" > > } > > }, > > { > > "vertex": { > > "class": "CostCenter" > > } > > } > > ], > > "loader": { > > "orientdb": { > > "dbURL": "plocal:/Users/d022051/NetBeansProjects/ETL/db", > > "dbType": "graph", > > "dbAutoDropIfExists": false, > > "dbAutoCreate": true, > > "standardElementConstraints": false, > > "classes": [ > > { > > "name": "CostCenter", > > "extends": "V" > > } > > ], > > "indexes": [ > > { > > "class": "CostCenter", > > "fields": ["cc_no:integer"], > > "type": "UNIQUE" > > } > > ] > > } > > } > > } > > > > -- > > --- > You received this message because you are subscribed to the Google Groups > "OrientDB" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- --- You received this message because you are subscribed to the Google Groups "OrientDB" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
