Хотя нет мастера для импорта данных, импорт данных в ArangoDB также тривиален, если вы знакомы с командной строкой (что, поскольку вы находитесь на этом сайте, я уверен, что вы есть):
- используйте инструмент импорта Arango для импорта файлов CSV в две коллекции
- Создайте свою коллекцию ребер
- используйте простой запрос AQL для вставки данных в коллекцию ребер
Вот пример синтаксиса для импорта csv с помощью arangoimp:
arangoimp --file <path/filename> --collection <collectionName> --create-collection true --type csv --server.database <databaseName> —server.username <username>
И вот несколько распространенных вариантов:
Перевод имен столбцов:
arangoimport --file "data.csv" --type csv --translate "from=_from" --translate "to=_to"
Игнорировать пустые значения (вместо того, чтобы выдавать предупреждения и не загружать данные), используйте флаг:
--ignore-missing
игнорировать столбец в файле импорта:
arangoimport --file "data.csv" --type csv --remove-attribute “attributeName”
Дополнительно, если у вас есть коллекция ребер в csvВы можете также импортировать этот файл напрямую:
arangoimp --file <path/filename> --collection <collectionName> --create-collection true --type csv --create-collection-type edge --server.database <databaseName>
Наконец, обратите внимание, что 2 и 3 в списке выше можно сделать в графическом интерфейсе Arango, если вам там удобнее.Оператор для 3 может выглядеть примерно так:
let newEdges = ( for csv1rec in csv1_collection
for csv2rec in csv2_collection
filter csv1rec.id = csv2rec.colA
return {from : csv1rec.id , to : csv2rec.colA} )
for rec in newEdges
insert {_from: rec.from, _to: rec.to} in edgeCollection
Обратите внимание, что я пишу AQL выше для шага 3 из памяти, поэтому может потребоваться небольшая настройка.