簡體   English   中英

使用Orientdb中的etl進程創建頂點時發生OStorageException

[英]OStorageException occurs while creating a vertex using the etl process in Orientdb

我對OrientDB比較陌生。 我想將幾個CSV文件加載到OrientDb。 我將其中一個文件作為頂點加載,並且工作正常,類似地,當我嘗試加載另一個文件時,拋出以下異常

com.orientechnologies.orient.core.exception.OStorageException:無法使用mode = rw打開本地存儲'../databases/AABbd'

引起原因:com.orientechnologies.orient.core.exception.OStorageException:無法打開由其他進程獲取的存儲

第一個文件(member-gm.csv)包含如下所示的值

MEMBERID,ENROLLBEGINDATE,ENROLLENDDATE,Dental,Drug,MHInpt,MHDN,MHAMB,CDInpt,CDDN,CDAMB,Hospice,Payer,PEFlag,Ind
95000,20141118,20160328,Y,Y,Y,Y,Y,Y,Y,Y,N,MCS,N,A
95001,20150225,20181231,Y,N,Y,Y,Y,Y,Y,Y,N,POS,N,A
95002,20150607,20160620,Y,Y,Y,Y,Y,Y,Y,Y,N,MLI,N,

為加載以上文件而創建的Json(Members.json)文件為

{
  "source": { "file": { "path": "/G:/AAB/member-gm.csv" } },  
  "extractor": { "csv": { "columns":    ["MEMBERID","Gender","DOB","LName","FName","MMidName","SubID","Add1","Add2","City","State","MZip","MPhone","PFirstName","PMidName","PLastName","Race","Ethn","RaceDS","EthnDS","SpokenLang","SpokenLangSource","WrittenLang","WrittenLangSource","OtherLang","OtherSource"],
       "columnsOnFirstLine": true } },
"transformers": [
{ "vertex": { "class": "Member" } }
],
"loader": {
"orientdb": {
   "dbURL": "plocal:../databases/AABbd",
   "dbType": "graph",
   "classes": [
     {"name": "Member", "extends": "V"}
    ]
  }
 }
} 

我使用命令G:\\ orientdb-community-importers-2.2.29 \\ bin> oetl.bat /AAB/Members.json執行了json文件, 並創建了Vertex Member。

我要創建的第二個頂點是付款人頂點,相關的csv(Payer_category.csv)如下

ID,Payer_Line,Payer_Name,Input_Payer,Output_payer
1,Medicaid,Medicaid,MMP,MCD
2,Medicare,Medicaid Dual Eligible HMO,MDE,MCR
3,Medicaid,Medicaid Dual Eligible HMO,MDE,MCD

相關的Payer.json文件包含

{
  "source": { "file": { "path": "/G:/AAB/Payer_category.csv" } },  
  "extractor": { "csv": { "columns": ["ID","Payer_Line","Payer_Name","Input_Payer","Output_payer"],
                            "columnsOnFirstLine": true } },
  "transformers": [
    { "vertex": { "class": "Payer" } }
  ],
  "loader": {
    "orientdb": {
       "dbURL": "plocal:../databases/AABbd",
       "dbType": "graph",
       "classes": [
         {"name": "Payer", "extends": "V"}
       ]
    }
  }
}

當我執行G:\\ orientdb-community-importers-2.2.29 \\ bin> oetl.bat /AAB/Payer.json時,拋出以下錯誤

G:\orientdb-community-importers-2.2.29\bin>oetl.bat /AAB/Payer.json
OrientDB etl v.2.2.29 (build 9914189f972103907c24377a1567897e68642920) 
https://www.orientdb.com
[file] INFO Load from file /G:/AAB/Payer_category.csv
[csv] INFO column types: {Payer_Name=ANY, Payer_Line=ANY, ID=ANY, Input_Payer=AN
Y, Output_payer=ANY}
[orientdb] INFO Opening database 'plocal:../databases/AABbd'...
$ANSI{green {db=AABbd}} Exception `3023DF74` in storage `AABbd`
com.orientechnologies.orient.core.exception.OStorageException: Cannot open local
 storage '../databases/AABbd' with mode=rw
    DB name="AABbd"
    at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginat
edStorage.open(OAbstractPaginatedStorage.java:304)
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.ope
n(ODatabaseDocumentTx.java:259)
    at com.orientechnologies.orient.etl.loader.OOrientDBLoader.configureDocu
mentDB(OOrientDBLoader.java:400)
    at com.orientechnologies.orient.etl.loader.OOrientDBLoader.configure(OOr
ientDBLoader.java:343)
    at com.orientechnologies.orient.etl.OETLProcessor.configureComponent(OET
LProcessor.java:470)
    at com.orientechnologies.orient.etl.OETLProcessor.configureLoader(OETLPr
ocessor.java:291)
    at com.orientechnologies.orient.etl.OETLProcessor.parse(OETLProcessor.ja
va:223)
    at com.orientechnologies.orient.etl.OETLProcessor.parse(OETLProcessor.ja
va:187)
    at com.orientechnologies.orient.etl.OETLProcessor.parseConfigAndParamete
rs(OETLProcessor.java:155)
    at com.orientechnologies.orient.etl.OETLProcessor.main(OETLProcessor.jav
a:119)
Caused by: com.orientechnologies.orient.core.exception.OStorageException: Cannot
 open storage it is acquired by other process
    DB name="AABbd"
    at com.orientechnologies.orient.core.storage.impl.local.paginated.OPagin
atedStorageDirtyFlag.lockFile(OPaginatedStorageDirtyFlag.java:96)
    at com.orientechnologies.orient.core.storage.impl.local.paginated.OPagin
atedStorageDirtyFlag.open(OPaginatedStorageDirtyFlag.java:129)
    at com.orientechnologies.orient.core.storage.impl.local.paginated.OLocal
PaginatedStorage.preOpenSteps(OLocalPaginatedStorage.java:424)
    at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginat
edStorage.open(OAbstractPaginatedStorage.java:258)
    ... 9 more
Exception in thread "main" com.orientechnologies.orient.core.exception.OConfigur
ationException: Error on creating ETL processor
    at com.orientechnologies.orient.etl.OETLProcessor.parse(OETLProcessor.ja
va:239)
    at com.orientechnologies.orient.etl.OETLProcessor.parse(OETLProcessor.ja
va:187)
    at com.orientechnologies.orient.etl.OETLProcessor.parseConfigAndParamete
rs(OETLProcessor.java:155)
    at com.orientechnologies.orient.etl.OETLProcessor.main(OETLProcessor.jav
a:119)
Caused by: com.orientechnologies.orient.core.exception.OStorageException: Cannot
 open local storage '../databases/AABbd' with mode=rw
    DB name="AABbd"
    at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginat
edStorage.open(OAbstractPaginatedStorage.java:304)
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.ope
n(ODatabaseDocumentTx.java:259)
    at com.orientechnologies.orient.etl.loader.OOrientDBLoader.configureDocu
mentDB(OOrientDBLoader.java:400)
    at com.orientechnologies.orient.etl.loader.OOrientDBLoader.configure(OOr
ientDBLoader.java:343)
    at com.orientechnologies.orient.etl.OETLProcessor.configureComponent(OET
LProcessor.java:470)
    at com.orientechnologies.orient.etl.OETLProcessor.configureLoader(OETLPr
ocessor.java:291)
    at com.orientechnologies.orient.etl.OETLProcessor.parse(OETLProcessor.ja
va:223)
    ... 3 more
Caused by: com.orientechnologies.orient.core.exception.OStorageException: Cannot
 open storage it is acquired by other process
    DB name="AABbd"
    at com.orientechnologies.orient.core.storage.impl.local.paginated.OPagin
atedStorageDirtyFlag.lockFile(OPaginatedStorageDirtyFlag.java:96)
    at com.orientechnologies.orient.core.storage.impl.local.paginated.OPagin
atedStorageDirtyFlag.open(OPaginatedStorageDirtyFlag.java:129)
    at com.orientechnologies.orient.core.storage.impl.local.paginated.OLocal
PaginatedStorage.preOpenSteps(OLocalPaginatedStorage.java:424)
    at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginat
edStorage.open(OAbstractPaginatedStorage.java:258)
    ... 9 more
  • 所有這些都直接在服務器上完成。
  • 我也嘗試使用dbUsername和dbPassword屬性,結果是相同的

- - - - -編輯 - - - - - - - - - - - - - -

當我嘗試使用第二個json文件(Payer.json)創建一個新的數據庫時,將創建一個具有頂點付款人的新數據庫,只是在現有數據庫中沒有創建一個新的頂點。


任何幫助都感激不盡。 謝謝

這些文件使用不同的名稱member-gm.csv member-en.csv是否正常? 我嘗試這種情況,順便說一句,此錯誤工作正常:

com.orientechnologies.orient.core.exception.OStorageException: Cannot open local storage '../databases/AABbd' with mode=rw

Caused by: com.orientechnologies.orient.core.exception.OStorageException: Cannot open storage it is acquired by other process 

這可能是由於服務器已啟動並正在運行,並且您正在使用plocal進行導入或服務器已關閉,但已通過控制台連接。...

希望能幫助到你

問候

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM