orientdb etl异常后继续
我的ETL脚本如下所示:orientdb etl异常后继续,orientdb,Orientdb,我的ETL脚本如下所示: { "config" : { "log": "debug"}, "source": { "file": { "path": "C:/Users/60886/person.csv" } }, "extractor": { "row": {} }, "transformers": [ { "csv": {} }, { "vertex": { "class": "Person" } }
{
"config" : { "log": "debug"},
"source": { "file": { "path": "C:/Users/60886/person.csv" } },
"extractor": { "row": {} },
"transformers": [
{ "csv": {} },
{ "vertex": { "class": "Person" } }
],
"loader": {
"orientdb": {
"dbURL": "remote:localhost/GratefulDeadConcerts",
"dbType": "graph",
"wal": false,
"tx": false,
"indexes": [
{"class":"Person", "fields":["ID:LONG"], "type":"UNIQUE" }
],
"batchCommit":1000
}
}
}
执行此脚本后,由于某些异常,我得到OETLProcessHaltedException,并且进程停止。因此,它会停止整个ETL过程。我想在异常发生后继续加载其他顶点,这样由于单个错误记录,我的整个过程不会停止。我怎样才能做到这一点?谢谢 您得到哪个异常?我得到的异常为:无法索引记录人{ID:1,朋友:101,敌人:104,姓名:A}:在以前分配给记录的索引“Person.ID”中找到重复的键“1”#15:0 RID=#15:0 ETL进程已停止:com.orientechnologies.orient.ETL.OETLProcessHaltedException:com.orientechnologies.orient.core.storage.ORecordDuplicatedException:无法为记录人{ID:1,朋友:101,敌人:104,姓名:A}:在以前分配给记录的索引“Person.ID”中找到重复的键“1”。我知道可以使用名为“skipDuplicates”的标志修复该键:true,但在这种情况下,在我检查图表中的记录之前,我不知道哪些记录是重复的。所以您只想记录异常,但继续etl?是的。我想记录哪些记录未能持久化,并继续使用非重复项。您会遇到哪些异常?我得到的异常为:无法索引记录人{ID:1,朋友:101,敌人:104,姓名:A}:在以前分配给记录的索引“Person.ID”中找到重复的键“1”#15:0 RID=#15:0 ETL进程已停止:com.orientechnologies.orient.ETL.OETLProcessHaltedException:com.orientechnologies.orient.core.storage.ORecordDuplicatedException:无法为记录人{ID:1,朋友:101,敌人:104,姓名:A}:在以前分配给记录的索引“Person.ID”中找到重复的键“1”。我知道可以使用名为“skipDuplicates”的标志修复该键:true,但在这种情况下,在我检查图表中的记录之前,我不知道哪些记录是重复的。所以您只想记录异常,但继续etl?是的。我想记录所有未能持久化的记录,并继续使用不重复的条目。