Я пытаюсь использовать загрузчик ETL для импорта данных в OrientDB. Я настроил OrientDB (версия 3.0.10) в распределенном режиме в кластере Kubernetes. Когда я пытаюсь использовать импорт на одном из модулей kubectl exec -it orientdbservice-0 -- /orientdb/bin/oetl.sh /orientdb/bin/data/import_json/venue.json
, он застревает в этом сообщении, а затем завершается:
OrientDB etl v.3.0.10 - Veloce (build eac0654847df662ca03b45a6a5efa5eadd229ca5, branch 3.0.x) https://www.orientdb.com
В результате папка базы данных создается, но данные импортируются не полностью. Поскольку нет никаких сообщений об ошибках относительно местоположения файла, я думаю, что части источника и экстрактора работают хорошо, но я не уверен насчет части загрузчика в файле конфигурации json. Что может быть причиной такого поведения? И можно ли использовать другие способы импорта данных?
Вот мой файл venue.json:
{
"source": {"file": {
"path" : "data/dataset_csv/venues.csv"
}
},
"extractor": {
"csv": {
"columns": ["venue_id:string", "address_1:string", "city:string", "country:string", "distance:float", "lat:float", "localized_country_name:string", "lon:float", "venue_name:string", "rating:float", "rating_count:float", "state:string", "zip:integer", "normalised_rating:float"],
"columnsOnFirstLine": true
}
},
"transformers" : [
{ "vertex": { "class": "Venue" } }
],
"loader": {
"orientdb": {
"dbURL": "plocal:/orientdb/databases/MeetupCluster",
"dbAutoCreateProperties": true,
"dbType": "graph",
"wal": false,
"batchCommit": 1000,
"tx": true,
"txUseLog": false,
"useLightweightEdges" : true,
"classes": [
{"name": "Venue", "extends": "V"}
], "indexes": [
{"class": "Venue", "fields":["venue_id:string"], "type":"UNIQUE" }
]
}
}
}
ПРИМЕЧАНИЕ. Загрузчик ETL отлично работает на моем локальном кластере, созданном с помощью docker-compose. И этот файл является одним из самых маленьких в базе данных, поэтому он должен загружаться быстро.
UPDATE:
Я установил URL для удаленной базы данных таким образом:
"dbURL": "remote:localhost/MeetupCluster"
"serverUser": "root",
"serverPassword": "pwd"
"dbUser": "admin",
"dbPassword": "admin"
И я получаю такие ошибки:
Exception in thread "main" com.orientechnologies.orient.core.exception.OConfigurationException: Error on creating ETL processor
Caused by: com.orientechnologies.orient.core.exception.ODatabaseException: Cannot open database 'MeetupCluster'
Suppressed: com.orientechnologies.orient.core.exception.ODatabaseException: Cannot open database 'MeetupCluster'
Caused by: com.orientechnologies.orient.server.distributed.ODistributedException: No active nodes found to execute command: sql.select from OUser where name = ? limit 1