目录

1.arangoimp方法

参数解析

全局配置部分(Global configuration)

  • --backslash-escape

use backslash as the escape character for quotes, used for csv (default: false)

  • --batch-size

size for individual data batches (in bytes) (default: 16777216)

  • --collection

collection name (default: "")

  • --configuration

the configuration file or 'none' (default: "")

  • --convert

convert the strings 'null', 'false', 'true' and strings containing numbers into non-string types (csv and tsv only) (default: true)

  • --create-collection

create collection if it does not yet exist (default: false)

  • --create-collection-type

type of collection if collection is created (edge or document). possible values: "document", "edge" (default: "document")

  • --file

file name ("-" for STDIN) (default: "")

  • --from-collection-prefix

_from collection name prefix (will be prepended to all values in '_from') (default: "")

  • --ignore-missing

ignore missing columns in csv input (default: false)

  • --on-duplicate

action to perform when a unique key constraint violation occurs. Possible values: ignore, replace, update, error. possible values: "error", "ignore", "replace", "update" (default: "error")

  • --overwrite

overwrite collection if it exist (WARNING: this will remove any data from the collection) (default: false)

  • --progress

show progress (default: true)

  • --quote

quote character(s), used for csv (default: """)

  • --remove-attribute <string...>

remove an attribute before inserting an attribute into a collection (for csv and tsv only) (default: )

  • --separator

field separator, used for csv and tsv (default: "")

  • --skip-lines

number of lines to skip for formats (csv and tsv only) (default: 0)

  • --threads

Number of parallel import threads. Most useful for the rocksdb engine (default: 2)

  • --to-collection-prefix

_to collection name prefix (will be prepended to all values in '_to') (default: "")

  • --translate <string...>

translate an attribute name (use as --translate "from=to", for csv and tsv only) (default: )

  • --type

type of import file. possible values: "auto", "csv", "json", "jsonl", "tsv" (default: "json")

  • --version

reports the version and exits (default: false)

Section 'log' (Configure the logging)

  • --log.color

use colors for TTY logging (default: true)

  • --log.level <string...>

the global or topic-specific log level (default: "info")

  • --log.output <string...>

log destination(s) (default: )

  • --log.role

log server role (default: false)

  • --log.use-local-time

use local timezone instead of UTC (default: false)

  • --log.use-microtime

use microtime instead (default: false)

Section 'server' (Configure a connection to the server)

  • --server.authentication

require authentication credentials when connecting (does not affect the server-side authentication settings) (default: true)

  • --server.connection-timeout

connection timeout in seconds (default: 5)

  • --server.database

database name to use when connecting (default: "_system")

  • --server.endpoint

endpoint to connect to, use 'none' to start without a server (default: "http+tcp://127.0.0.1:8529")

  • --server.password

password to use when connecting. If not specified and authentication is required, the user will be prompted for a password (default: "")

  • --server.request-timeout

request timeout in seconds (default: 1200)

  • --server.username

username to use when connecting (default: "root")

Section 'ssl' (Configure SSL communication)

  • --ssl.protocol

ssl protocol (1 = SSLv2, 2 = SSLv2 or SSLv3 (negotiated), 3 = SSLv3, 4 = TLSv1, 5 = TLSV1.2). possible values: 1, 2, 3, 4, 5 (default: 5)

Section 'temp' (Configure temporary files)

  • --temp.path

path for temporary files (default: "")

应用实例

  • 导入节点集合数据
arangoimp --server.endpoint tcp://127.0.0.1:8529 --server.username root --server.password ××× --server.database _system --file test.csv --type csv --create-collection true --create-collection-type document --overwrite true --collection "test"
  • 导入边集合数据
arangoimp --server.endpoint tcp://127.0.0.1:8529 --server.username root --server.password *** --server.database _system --file test.csv --type csv --create-collection true --create-collection-type document --overwrite true --collection "test"

python方法

单条导入

from arango import ArangoClient

# Initialize the ArangoDB client.
client = ArangoClient() # Connect to "test" database as root user.
db = client.db('test', username='root', password='passwd') # Get the API wrapper for "students" collection.
students = db.collection('students') # Create some test documents to play around with.
lola = {'_key': 'lola', 'GPA': 3.5, 'first': 'Lola', 'last': 'Martin'} # Insert a new document. This returns the document metadata.
metadata = students.insert(lola)

批量数据导入

由于每一次insert就会产生一次数据库连接,当数据规模较大时,一次次插入比较浪费网络资源,这时候就需要使用Transactions了

from arango import ArangoClient

# Initialize the ArangoDB client.
client = ArangoClient() # Connect to "test" database as root user.
db = client.db('test', username='root', password='passwd') # Get the API wrapper for "students" collection.
students = db.collection('students') # Begin a transaction via context manager. This returns an instance of
# TransactionDatabase, a database-level API wrapper tailored specifically
# for executing transactions. The transaction is automatically committed
# when exiting the context. The TransactionDatabase wrapper cannot be
# reused after commit and may be discarded after.
with db.begin_transaction() as txn_db: # Child wrappers are also tailored for transactions.
txn_col = txn_db.collection('students') # API execution context is always set to "transaction".
assert txn_db.context == 'transaction'
assert txn_col.context == 'transaction' # TransactionJob objects are returned instead of results.
job1 = txn_col.insert({'_key': 'Abby'})
job2 = txn_col.insert({'_key': 'John'})
job3 = txn_col.insert({'_key': 'Mary'}) # Upon exiting context, transaction is automatically committed.
assert 'Abby' in students
assert 'John' in students
assert 'Mary' in students # Retrieve the status of each transaction job.
for job in txn_db.queued_jobs():
# Status is set to either "pending" (transaction is not committed yet
# and result is not available) or "done" (transaction is committed and
# result is available).
assert job.status() in {'pending', 'done'} # Retrieve the job results.
metadata = job1.result()
assert metadata['_id'] == 'students/Abby' metadata = job2.result()
assert metadata['_id'] == 'students/John' metadata = job3.result()
assert metadata['_id'] == 'students/Mary' # Transactions can be initiated without using a context manager.
# If return_result parameter is set to False, no jobs are returned.
txn_db = db.begin_transaction(return_result=False)
txn_db.collection('students').insert({'_key': 'Jake'})
txn_db.collection('students').insert({'_key': 'Jill'}) # The commit must be called explicitly.
txn_db.commit()
assert 'Jake' in students
assert 'Jill' in students

参考资料

AranfoDB Document v3.3

python-arango document

欢迎转载,转载请注明网址:https://www.cnblogs.com/minglex/p/9705481.html

ArangoDB数据导入的更多相关文章

  1. ITTC数据挖掘平台介绍(五) 数据导入导出向导和报告生成

    一. 前言 经过了一个多月的努力,软件系统又添加了不少新功能.这些功能包括非常实用的数据导入导出,对触摸进行优化的画布和画笔工具,以及对一些智能分析的报告生成模块等.进一步加强了平台系统级的功能. 马 ...

  2. FineReport实现EXCEL数据导入自由报表

    在制作填报报表的时候,对于空白填报表,常常导出为Excel,派发给各部门人员填写后上交.如何能避免手动输入,直接将Excel中的数据导入到填报表中提交入库呢? 这里以一个简单的员工信息填报示例进行介绍 ...

  3. Execl数据导入sql server方法

    在日常的程序开发过程中,很多情况下,用户单位给予开发人员的数据往往是execl或者是access数据,如何把这些数据转为企业级是数据库数据呢,下面就利用sqlserver自带的功能来完成此项任务. 首 ...

  4. kettle将Excel数据导入oracle

    导读 Excel数据导入Oracle数据库的方法: 1.使用PL SQL 工具附带的功能,效率比较低 可参考这篇文章的介绍:http://www.2cto.com/database/201212/17 ...

  5. [Asp.net]常见数据导入Excel,Excel数据导入数据库解决方案,总有一款适合你!

    引言 项目中常用到将数据导入Excel,将Excel中的数据导入数据库的功能,曾经也查找过相关的内容,将曾经用过的方案总结一下. 方案一 NPOI NPOI 是 POI 项目的 .NET 版本.POI ...

  6. sqlserver 中数据导入到mysql中的方法以及注意事项

    数据导入从sql server 到mysql (将数据以文本格式从sqlserver中导出,注意编码格式,再将文本文件导入mysql中): 1.若从slqserver中导出的表中不包含中文采用: bc ...

  7. 数据分析(7):pandas介绍和数据导入和导出

    前言 Numpy Numpy是科学计算的基础包,对数组级的运算支持较好 pandas pandas提供了使我们能够快速便捷地处理结构化数据的大量数据结构和函数.pandas兼具Numpy高性能的数组计 ...

  8. MySQL学习笔记十一:数据导入与导出

    数据导入 1.mysqlimport命令行导入数据 在使用mysqlimport命令导入数据时,数据来源文件名要和目标表一致,不想改文件名的话,可以复制一份创建临时文件,示例如下. 建立一个文本use ...

  9. geotrellis使用(十二)再记录一次惨痛的伪BUG调试经历(数据导入以及读取瓦片)

    Geotrellis系列文章链接地址http://www.cnblogs.com/shoufengwei/p/5619419.html 目录 前言 BUG还原 查找BUG 解决方案 总结 后记 一.前 ...

随机推荐

  1. 【ADO.NET基础-GridView】GridView的编辑、更新、取消、删除以及相关基础操作代码

    代码都是基础操作,后续功能还会更新,如有问题欢迎提出和提问....... 前台代码: <asp:GridView ID=" OnRowDataBound="GridView1 ...

  2. phaser学习总结之phaser入门教程

    前言 最近公司做项目的时候正好使用到phaser,在这里做一下自己整理出来的一些心得,方便大家参考,phaser这一个游戏引擎通常是做2d游戏的,入门也非常简单,只需你会一点的javascript,但 ...

  3. .Net Core自动化部署系列(二):使用Jenkins打造镜像发布流水线

    一.简介 之前写过一篇关于Jenkins搭配GitLab实现.net core项目自动发布到IIS的博文,比较简单哈,只是个Demo.本篇我们将会使用Jenkins搭配GitLab实现镜像的自动打包和 ...

  4. RMAN备份归档日志ORA-19575

    RMAN备份归档日志ORA-19575 一.问题描述 1)环境oracle 10g; 2)报错现象RMAN进行备份归档报错失败ORA-19575 二.问题处理 1)根据客户说明的现象,百度了一波(详见 ...

  5. 常用Form表单正则表达式

    前端常用form表单提交,校验正则表达式奉上!/** * 邮箱 * @param {*} s */ export function isEmail (s) { return /^([a-zA-Z0-9 ...

  6. 跑的比谁都快 51Nod - 1789

    香港记者跑的比谁都快是众所周知的常识.   现在,香港记者站在一颗有  nn 个点的树的根结点上(即1号点),编号为  ii 的点拥有权值  a[i]a[i] ,数据保证每个点的编号都小于它任意孩子结 ...

  7. vodevs3031 最富有的人

    在你的面前有n堆金子,你只能取走其中的两堆,且总价值为这两堆金子的xor值,你想成为最富有的人,你就要有所选择. 输入描述 Input Description 第一行包含两个正整数n,表示有n堆金子. ...

  8. Anrlr4 生成C++版本的语法解析器

    一. 写在前面 我最早是在2005年,首次在实际开发中实现语法解析器,当时调研了Yacc&Lex,觉得风格不是太好,关键当时yacc对多线程也支持的不太好,接着就又学习了Bison&F ...

  9. java23种设计模式(一)工厂方法模式

    在说工厂方法模式之前,先了解一下简单工厂模式.工厂方法模式其实是在简单工厂上面做了一些增强. 简单工厂模式:有一个专门的类来生产其他类的实例,生产的这些实例有一个共同父类.这个跟我们的多态有一点像. ...

  10. Jmeter插件图表分析

    1.jp@gc - Actiive Threads Over Time:不同时间的活动用户数量展示(图表) 当前的时间间隔是1毫秒,在setting中可以设置时间间隔以及其他的参数,右击可以导出exc ...