powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / NoSQL, Big Data [игнор отключен] [закрыт для гостей] / Import From CSV To Document DB OrientDB
6 сообщений из 6, страница 1 из 1
Import From CSV To Document DB OrientDB
    #38947597
ASukhov1986
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В БД CU242176 СУБД OrientDB версии 2.0.7 есть таблица M_PERM:
Код: xml
1.
2.
3.
PERM_ID:integer not null;
PERM_NAME:string;
PERM_DESC:string.


Я хочу с помощью модуля OrientDB-ETL выполнить загрузку данных из CSV файла в эту таблицу. Для в соответствии с электронной документацией ( http://orientdb.com/docs/last/Configuration-File.html) я создал следующих JSON конфиг:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
{
  "config":{
    "log": "debug"
  },
  "begin": [
  ],
  "source" : {
    "file": { "path": "c:\Program Files\orientdb-community-2.0.7\bin\M_PERM.csv", "lock" : true }
  },
  "extractor" : {
    "row": {}
  },
  "transformers" : [
   { "csv": { "separator": "|","columnsOnFirstLine":false, "nullValue": "NULL"} },
   { "vertex": { "class": "M_PERM" } }
  ],
  "loader" : {
    "orientdb": {
      "dbURL": "remote:localhost/CU242176",
      "dbUser": "admin",
      "dbPassword": "admin",
      "dbAutoCreate": true,
      "tx": false,
	  "wal":false,
      "dbType": "document",
	  "classes":[{"name": "M_PERM"}],
      "indexes": [{"class":"M_PERM", "fields":["PERM_ID:integer"], "type":"UNIQUE" }]
    }
  }
}


Далее с помощью следующей команды пытаюсь выполнять импорт данных:
Код: javascript
1.
oetl config_Import_M_PERM_new.json


Возникает следующая ошибка:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
OrientDB etl v.2.0.7 (build @BUILD@) www.orientechnologies.com
Exception in thread "main" com.orientechnologies.orient.core.exception.OConfigurationException
: Error on creating ETL processor
        at com.orientechnologies.orient.etl.OETLProcessor.parse(OETLProcessor.java:275)
        at com.orientechnologies.orient.etl.OETLProcessor.parse(OETLProcessor.java:185)
        at com.orientechnologies.orient.etl.OETLProcessor.main(OETLProcessor.java:160)
Caused by: java.lang.UnsupportedOperationException: Cannot check the existance of a database i
n a remote server. Please use the console or the OServerAdmin class.
        at com.orientechnologies.orient.client.remote.OStorageRemote.exists(OStorageRemote.jav
a:274)
        at com.orientechnologies.orient.client.remote.OStorageRemoteThread.exists(OStorageRemo
teThread.java:177)
        at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.exists(ODatabaseD
ocumentTx.java:1051)
        at com.orientechnologies.orient.etl.loader.OOrientDBLoader.configure(OOrientDBLoader.j
ava:246)
        at com.orientechnologies.orient.etl.OETLProcessor.configureComponent(OETLProcessor.jav
a:491)
        at com.orientechnologies.orient.etl.OETLProcessor.parse(OETLProcessor.java:248)
        ... 2 more


Как я понял ошибка в подключении к БД, но с помощью следующей команды я нормально подкл. к БД:
Код: javascript
1.
connect remote:localhost/CU242176 admin admin


Как мне её исправить?
...
Рейтинг: 0 / 0
Import From CSV To Document DB OrientDB
    #38947635
ASukhov1986
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ASukhov1986, отключил сервер и внес следующее изменение в конфиг JSON:
вместо строчки
Код: javascript
1.
 "dbURL": "remote:localhost/CU242176"


добавил строчку
Код: javascript
1.
"dbURL": "plocal:c:/Program Files/orientdb-community-2.0.7/databases/CU242176"


выполнил команду:
Код: javascript
1.
oetl config_Import_M_PERM_new.json


как я понял к БД подключилось, но все равно возникла ошибка:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
OrientDB etl v.2.0.7 (build @BUILD@) www.orientechnologies.com
[orientdb] DEBUG Opening database 'plocal:c:/Program Files/orientdb-community-2.0.7/databases/
CU242176'...

2015-04-28 17:21:35:120 WARNING {db=CU242176} segment file 'database.ocf' was not closed corre
ctly last time [OSingleFileSegment]
2015-04-28 17:21:35:874 WARNING {db=CU242176} Storage CU242176 was not closed properly. Will t
ry to restore from write ahead log. [OLocalPaginatedStorage]
2015-04-28 17:21:35:916 WARNING {db=CU242176} Record com.orientechnologies.orient.core.storage
.impl.local.paginated.wal.OFuzzyCheckpointEndRecord{lsn=OLogSequenceNumber{segment=0, position
=4768412}} will be skipped during data restore. [OLocalPaginatedStorage]
2015-04-28 17:21:35:916 WARNING {db=CU242176} Record OFuzzyCheckpointStartRecord{lsn=OLogSeque
nceNumber{segment=0, position=4768423}} com.orientechnologies.orient.core.storage.impl.local.p
aginated.wal.OFuzzyCheckpointStartRecord{lsn=null, previousCheckpoint=OLogSequenceNumber{segme
nt=0, position=4768368}} will be skipped during data restore. [OLocalPaginatedStorage]
2015-04-28 17:21:35:917 WARNING {db=CU242176} Record com.orientechnologies.orient.core.storage
.impl.local.paginated.wal.OFuzzyCheckpointEndRecord{lsn=OLogSequenceNumber{segment=0, position
=4768467}} will be skipped during data restore. [OLocalPaginatedStorage]BEGIN ETL PROCESSOR
[file] DEBUG Reading from file c:\Program Files\orientdb-community-2.0.7\bin\M_PERM.csv
[orientdb] DEBUG orientdb: found 0 documents in class 'null'
[orientdb] DEBUG - OrientDocumentLoader: created index 'M_PERM.PERM_ID' type 'UNIQUE' against
Class 'M_PERM', fields [PERM_ID:integer]
Exception in thread "main" com.orientechnologies.orient.etl.extractor.OExtractorException: jav
a.io.IOException: Процесс не может получить доступ к файлу, так как часть этого файла заблокир
ована другим процессом
        at com.orientechnologies.orient.etl.extractor.ORowExtractor.hasNext(ORowExtractor.java
:49)
        at com.orientechnologies.orient.etl.OETLProcessor.executeSequentially(OETLProcessor.ja
va:475)
        at com.orientechnologies.orient.etl.OETLProcessor.execute(OETLProcessor.java:288)
        at com.orientechnologies.orient.etl.OETLProcessor.main(OETLProcessor.java:160)
Caused by: java.io.IOException: Процесс не может получить доступ к файлу, так как часть этого
файла заблокирована другим процессом
        at java.io.FileInputStream.readBytes(Native Method)
        at java.io.FileInputStream.read(Unknown Source)
        at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
        at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
        at sun.nio.cs.StreamDecoder.read(Unknown Source)
        at java.io.InputStreamReader.read(Unknown Source)
        at java.io.BufferedReader.fill(Unknown Source)
        at java.io.BufferedReader.readLine(Unknown Source)
        at java.io.BufferedReader.readLine(Unknown Source)
        at com.orientechnologies.orient.etl.extractor.ORowExtractor.fetchNext(ORowExtractor.ja
va:97)
        at com.orientechnologies.orient.etl.extractor.ORowExtractor.hasNext(ORowExtractor.java
:46)
        ... 3 more
+ extracted 0 rows (0 rows/sec) - 0 rows -> loaded 0 documents (0 documents/sec) Total time: 1
000ms [0 warnings, 0 errors]
+ extracted 0 rows (0 rows/sec) - 0 rows -> loaded 0 documents (0 documents/sec) Total time: 2
s [0 warnings, 0 errors]
+ extracted 0 rows (0 rows/sec) - 0 rows -> loaded 0 documents (0 documents/sec) Total time: 3
s [0 warnings, 0 errors]
...
Рейтинг: 0 / 0
Import From CSV To Document DB OrientDB
    #38947646
ASukhov1986
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ASukhov1986,
предыдущая ошибка понятна вместо команды
Код: javascript
1.
oetl config_Import_M_PERM_new.json


надо выполнить команду
Код: javascript
1.
oetl config_Import_M_PERM.json


опечатка!!!!)))
Но все равно ошибка (как я понял с проблемой парсинья csv, видимо какие то лишние символы):
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
OrientDB etl v.2.0.7 (build @BUILD@) www.orientechnologies.com
[orientdb] DEBUG Opening database 'plocal:c:/Program Files/orientdb-community-2.0.7/databases/
CU242176'...
BEGIN ETL PROCESSOR
[file] DEBUG Reading from file c:\Program Files\orientdb-community-2.0.7\bin\M_PERM.csv
[orientdb] DEBUG orientdb: found 0 documents in class 'null'
[0:csv] DEBUG Transformer input: "1|""WriteCSM""|""??????????, ????????? ? ???????? ?????? ???
???????? """"??????????????? ???????????"""""""
[0:csv] DEBUG parsing="1|""WriteCSM""|""??????????, ????????? ? ???????? ?????? ??????????? ""
""??????????????? ???????????"""""""
Error in Pipeline execution: com.orientechnologies.orient.etl.transformer.OTransformException:
 csv: columnsOnFirstLine=false and no columns declared
com.orientechnologies.orient.etl.transformer.OTransformException: csv: columnsOnFirstLine=fals
e and no columns declared
        at com.orientechnologies.orient.etl.transformer.OCSVTransformer.executeTransform(OCSVT
ransformer.java:115)
        at com.orientechnologies.orient.etl.transformer.OAbstractTransformer.transform(OAbstra
ctTransformer.java:37)
        at com.orientechnologies.orient.etl.OETLPipeline.execute(OETLPipeline.java:108)
        at com.orientechnologies.orient.etl.OETLProcessor.executeSequentially(OETLProcessor.ja
va:480)
        at com.orientechnologies.orient.etl.OETLProcessor.execute(OETLProcessor.java:288)
        at com.orientechnologies.orient.etl.OETLProcessor.main(OETLProcessor.java:160)
ETL process halted: com.orientechnologies.orient.etl.OETLProcessHaltedException: com.orientech
nologies.orient.etl.transformer.OTransformException: csv: columnsOnFirstLine=false and no colu
mns declared
+ extracted 1 rows (0 rows/sec) - 1 rows -> loaded 0 documents (0 documents/sec) Total time: 9
99ms [0 warnings, 0 errors]
...
Рейтинг: 0 / 0
Import From CSV To Document DB OrientDB
    #38947650
ASukhov1986
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ASukhov1986,
csv файл:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
1|"WriteCSM"|"Добавление, изменение и удаление данных справочника ""Аккредитованные организации"""
2|"WriteMeasureTypes"|"Добавление, изменение и удаление данных справочника ""Области измерений"""
3|"WritePurposes"|"Добавление, изменение и удаление данных справочника ""Категории СИ"""
4|"WriteSpheres"|"Добавление, изменение и удаление данных справочника ""Виды деятельности"""
5|"WriteWorkTypes"|"Добавление, изменение и удаление данных справочника ""Виды работ"""
6|"WriteWorkPlaces"|"Добавление, изменение и удаление данных справочника ""Принадлежность СП"""
7|"WriteMarkProvider"|"Изменение данных справочника ""Поставщик наклеек"""
8|"Administrative"|"Доступ к утилите администрирования"
9|"WriteOKATO"|"Добавление, изменение и удаление данных справочника ""Справочник ОКТМО"""
10|"WriteCodifier"|"Добавление, изменение и удаление данных справочника ""Кодификатор СИ"""
11|"WriteAuthorizedOrg"|"Изменение данных справочника ""Уполномоченная организация"""
12|"WriteCenterDeviceTypes"|"Добавление, изменение и удаление данных справочника ""Центральный справочник СИ"""
13|"ControlSEO"|"Управление системой электронной отчетности"
14|"AddReports"|"Дополнительные отчеты"
...
Рейтинг: 0 / 0
Import From CSV To Document DB OrientDB
    #38948186
ASukhov1986
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ASukhov1986,
немного поправил CSV файл:
PERM_ID|PERM_NAME|PERM_DESC1|WriteCSM|Добавление изменение и удаление данных справочника "Аккредитованные организации"2|WriteMeasureTypes|Добавление изменение и удаление данных справочника "Области измерений"3|WritePurposes|Добавление изменение и удаление данных справочника "Категории СИ"...
и JSON файл:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
{
  "config":{
    "log": "debug"
  },
  "begin": [
  ],
  "source" : {
    "file": { "path": "c:\Program Files\orientdb-community-2.0.7\bin\M_PERM.csv", "lock" : false }
  },
  "extractor" : {
    "row": {}
  },
  "transformers" : [
   { "csv": { "separator": "|","columnsOnFirstLine":true,"nullValue": "NULL"} }
  ],
  "loader" : {
    "orientdb": {
      "dbURL": "plocal:c:/Program Files/orientdb-community-2.0.7/databases/CU242176",
      "dbUser": "admin",
      "dbPassword": "admin",
      "dbAutoCreate": true,
      "tx": false,
	  "wal":false,
      "dbType": "document",
	  "classes":[{"name": "M_PERM"}],
      "indexes": [{"class":"M_PERM", "fields":["PERM_ID:integer"], "type":"UNIQUE" }]
    }
  }
}


Импорт выполнился без ошибок, но данных нет в таблице хотя в соответствии с логом все должно там быть:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
OrientDB etl v.2.0.7 (build @BUILD@) www.orientechnologies.com
[orientdb] DEBUG Opening database 'plocal:c:/Program Files/orientdb-community-2.0.7/databases/
CU242176'...

2015-04-29 09:53:25:586 WARNING {db=CU242176} segment file 'database.ocf' was not closed corre
ctly last time [OSingleFileSegment]
2015-04-29 09:53:25:787 WARNING {db=CU242176} Storage CU242176 was not closed properly. Will t
ry to restore from write ahead log. [OLocalPaginatedStorage]
2015-04-29 09:53:25:836 WARNING {db=CU242176} Record com.orientechnologies.orient.core.storage
.impl.local.paginated.wal.OFuzzyCheckpointEndRecord{lsn=OLogSequenceNumber{segment=0, position
=4778067}} will be skipped during data restore. [OLocalPaginatedStorage]
2015-04-29 09:53:25:836 WARNING {db=CU242176} Record OFuzzyCheckpointStartRecord{lsn=OLogSeque
nceNumber{segment=0, position=4778078}} com.orientechnologies.orient.core.storage.impl.local.p
aginated.wal.OFuzzyCheckpointStartRecord{lsn=null, previousCheckpoint=OLogSequenceNumber{segme
nt=0, position=4778023}} will be skipped during data restore. [OLocalPaginatedStorage]
2015-04-29 09:53:25:837 WARNING {db=CU242176} Record com.orientechnologies.orient.core.storage
.impl.local.paginated.wal.OFuzzyCheckpointEndRecord{lsn=OLogSequenceNumber{segment=0, position
=4778122}} will be skipped during data restore. [OLocalPaginatedStorage]BEGIN ETL PROCESSOR
[file] DEBUG Reading from file c:\Program Files\orientdb-community-2.0.7\bin\M_PERM.csv
[orientdb] DEBUG orientdb: found 0 documents in class 'null'
[0:csv] DEBUG Transformer input: PERM_ID|PERM_NAME|PERM_DESC
[0:csv] DEBUG parsing=PERM_ID|PERM_NAME|PERM_DESC
[0:csv] DEBUG Transformer output: null

2015-04-29 09:53:26:156 WARNING {db=CU242176} Transformer [csv] returned null, skip rest of pi
peline execution [OETLPipeline][1:csv] DEBUG Transformer input: 1|WriteCSM|Добавление, изменен
ие и удаление данных справочника "Аккредитованные организации"
[1:csv] DEBUG parsing=1|WriteCSM|Добавление, изменение и удаление данных справочника "Аккредит
ованные организации"
[1:csv] DEBUG document={PERM_ID:1,PERM_NAME:WriteCSM,PERM_DESC:Добавление, изменение и удалени
е данных справочника "Аккредитованные организации"}
[1:csv] DEBUG Transformer output: {PERM_ID:1,PERM_NAME:WriteCSM,PERM_DESC:Добавление, изменени
е и удаление данных справочника "Аккредитованные организации"}
[2:csv] DEBUG Transformer input: 2|WriteMeasureTypes|Добавление, изменение и удаление данных с
правочника "Области измерений"
[2:csv] DEBUG parsing=2|WriteMeasureTypes|Добавление, изменение и удаление данных справочника
"Области измерений"
[2:csv] DEBUG document={PERM_ID:2,PERM_NAME:WriteMeasureTypes,PERM_DESC:Добавление, изменение
и удаление данных справочника "Области измерений"}
[2:csv] DEBUG Transformer output: {PERM_ID:2,PERM_NAME:WriteMeasureTypes,PERM_DESC:Добавление,
 изменение и удаление данных справочника "Области измерений"}
[3:csv] DEBUG Transformer input: 3|WritePurposes|Добавление, изменение и удаление данных справ
очника "Категории СИ"
[3:csv] DEBUG parsing=3|WritePurposes|Добавление, изменение и удаление данных справочника "Кат
егории СИ"
[3:csv] DEBUG document={PERM_ID:3,PERM_NAME:WritePurposes,PERM_DESC:Добавление, изменение и уд
аление данных справочника "Категории СИ"}
[3:csv] DEBUG Transformer output: {PERM_ID:3,PERM_NAME:WritePurposes,PERM_DESC:Добавление, изм
енение и удаление данных справочника "Категории СИ"}
END ETL PROCESSOR
+ extracted 4 rows (0 rows/sec) - 4 rows -> loaded 3 documents (0 documents/sec) Total time: 1
29ms [0 warnings, 0 errors]
...
Рейтинг: 0 / 0
Import From CSV To Document DB OrientDB
    #38949784
ASukhov1986
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ASukhov1986,
все за работала при импорте через jdbc:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
{
  "config":{
    "log": "debug"
  },
  "extractor" : {
    "jdbc": 
	{  "driver": "com.ibm.db2.jcc.DB2Driver",
       "url": "jdbc:db2://ITS-C:50000/CU242176",
       "userName": "metr",
       "userPassword": "******",
       "query": "select PERM_DESC,PERM_ID,PERM_NAME from METR.M_PERM"
	}
  },
  "transformers":[
    {"log":{}}
  ],
  "loader" : {
    "orientdb": {
      "dbURL": "plocal:c:/Program Files/orientdb-community-2.0.7/databases/CU242176",
      "dbUser": "admin",
      "dbPassword": "admin",
      "dbAutoCreate": false,
	  "standardElementConstraints": false,
	  "wal":false,
      "dbType": "document",
	  "class": "M_PERM",
      "indexes": [{"class":"M_PERM", "fields":["PERM_ID:integer"], "type":"UNIQUE" }]
    }
  }
}
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / NoSQL, Big Data [игнор отключен] [закрыт для гостей] / Import From CSV To Document DB OrientDB
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]