数据导出工具
JSON 导出格式中的 JSON 记录符合 JSON 的定义,以左右花括号作为 JSON 记录的分界符,并且字符串类型的数据必须包含在两个双引号之间,转义字符为反斜杠“\”。默认情况下(SequoiaDB)记录以换行符分隔,用户能够指定记录分隔符。
CSV
CSV(Comma Separated Values)导出格式以逗号分隔数值。默认情况下记录以换行符分隔,字段以逗号分隔。用户能够指定字符串分隔符、字段分隔符以及记录分隔符。
选项
参数名 | 缩写 | 描述 |
---|---|---|
—help | -h | 显示帮助信息 |
—version | 显示版本信息 | |
—hosts | 指定主机地址(hostname:svcname),用“,”分隔多个地址,默认值为 | |
—user | -u | 指定数据库用户名 |
—password | -w | 指定数据库密码,指定值则使用明文输入,不指定值则命令行提示输入 |
—cipher | 是否使用密文模式输入密码,默认为 false,不使用密文模式输入密码,关于密文模式的介绍可参考密码管理 | |
—token | 指定加密令牌 | |
—cipherfile | 指定密文文件路径,默认为 ~/sequoiadb/passwd | |
—delrecord | -r | 指定记录分隔符,默认是’\n’ |
—type | 指定导出数据格式,为 csv 或 json,默认为 csv | |
—filelimit | 指定单个导出文件的大小上限,单位可以为 k、K、M、m、G、g、T 或 t,默认值为 16G 当导出文件将超过限制时,会切分为多个文件,具有编号后缀,如 file.csv 、file.csv.1 、file.csv.2 | |
—fields | 指定导出集合的字段,该选项可以指定多次以指定多个导出集合的字段 格式为 [csName.clName:][field1[,…]],当确定只导出一个集合时,可以仅指定字段列表 [field1[,…]] | |
—withid | 强制导出或者在配置文件中生成字段时,是否包含 _id 字段 当 type 为 json 时,默认为 true,包含 _id 字段;当 type 为 csv 时,默认为 false ,不包含 _id 字段 | |
—floatfmt | 指定浮点数格式,默认是 ‘%.16g’,输入 ‘db2’ 表示 ‘%+.14E’,其他格式 %[+] | |
—ssl | 指定是否使用 SSL 连接,默认 false,不使用 SSL 连接 | |
—replace | 覆盖导出数据文件 |
单集合选项
参数名 | 缩写 | 描述 |
---|---|---|
—cscl | 导出的若干个导出集合或集合空间,多个名称使用逗号分隔,如 | |
—excludecscl | 不包含的集合或集合空间,类似 —cscl | |
—dir | 导出的目录,导出的每一个集合对应目录中的同名文件,如 sample.employee.csv |
JSON 选项
参数名 | 缩写 | 描述 |
---|---|---|
—delchar | -a | 字符分隔符,默认值为双引号’ “ ‘ |
—delfield | -e | 字段分隔符,默认值为逗号’,’ |
—included | 是否导出字段名到文件首行,默认值为 true,导出字段名到文件首行 | |
—includebinary | 是否导出完整二进制数据,默认值为 false,不导出完整二进制数据 | |
—includeregex | 是否导出完整的正则表达式,默认值为 false,不导出完整的正则表达式 | |
—force | 对于导出 csv 格式,每个集合必须指定对应的字段,否则不允许导出; —force 选项可以强制导出,未指定字段的集合默认为第一行记录中除了 _id 以外的字段 | |
—kicknull | 是否踢掉 null 值,默认为 false true:输出空字符 false:输出 null | |
—checkdelimeter | 是否严格校验分隔符,默认为 true true:禁止字符分隔符、字段分隔符、记录分隔符互相包含; false:允许字符分隔符、字段分隔符、记录分隔符互相包含。 |
配置文件选项
用户执行相关命令后,返回 0 则表示执行成功,返回非 0 则表示执行失败。
示例
以 csv 格式导出集合 sample.employee,导出文件为
sample.employee.csv
,指定字段“field1”、“fieldNotExist”和“field3”,其中字段“fieldNotExist”在集合中不存在field1, fieldNotExist, field3
"Jack",,"China"
以 json 格式导出数据库除集合空间 cs1 和集合 cs2.cla 以外的所有集合,导出文目录为
exportpath
以 csv 格式导出集合空间 cs2 中除 cs2.cla 外的所有集合和集合 cs1.cla;由于必须指定每一个集合的 —fields,使用 —force 选项强制导出
导出条件同上例,要求配置文件中包含每一个所对应的 —fields 选项,根据需求生成配置文件之后,再执行导出。
生成配置文件
hostname = localhost
...
dir = exportpath/
cscl = cs1.cla,cs2
excludecscl = cs2.cla
fields = cs1.cla: a1, a2, a3
fields = cs2.clb: b1, b2, b3
fields = cs2.cld: d1, d2, d3, d4
执行导出