TcaplusDB Client - dump命令

TcaplusDB Client的使用方法参见文档

1. 功能说明

原理:dump命令实际是通过全表扫描接口,将数据读取到本地,再按指定形式和格式输出。

全量导出表格中的数据,提供打印到控制台/输出到文件两种方式。 注:3.55版本后支持where+任意字段过滤导出,但本质上还是走的全表扫描

请注意,保存结果的文件名不能以数字开头。

2. 性能说明

数据导出由单线程执行,导出效率与数据量成负相关,当单记录数据比较大时,导出耗时比较长。

如果只是需要部分字段,建议使用部分字段导出,此时只会读取数据的部分字段,而不会读取整条数据,可以在一定程度上提高导出速度。

3. 启始版本

3.40.0

4. 命令语法

dump key1, key2, value1, value2 [into result.csv] from table [where ...] limit 10 offset 100 shardid 10 [\M];

##导出部分字段
dump key1, key2, value1, value2 [into result.csv] from table [where ...] limit 10;
注:pb表指定字段导出(3.55版本支持)
enable delta result;
dump key1, key2, key3, value1, value2 [into result.xml] from table;

##按xml格式导出
dump * [into 文件名] from table [where ...] limit 10 using tdr;

##按csv格式导出
dump * [into 文件名] from table [where ...] limit 10 [encode] [\T];

参数说明:

参数 版本说明 当源表为PB表时 当源表为TDR表时 必填项
table 表格的名字 表格的名字
key 主键字段名,必须填入所有Key字段的值 主键字段名,必须填入所有Key字段的值
value 非主键字段名 非主键字段名
where 3.55.0版本起支持 过滤条件 过滤条件
limit 本次导出的Key的个数
Generic表:一个Key对应一条数据
List表:一个Key对应一个列表,包含多条数据
本次导出的Key的个数
Generic表:一个Key对应一条数据
List表:一个Key对应一个列表,包含多条数据
using tdr 不支持 如果需要使用该参数,则在启动TcaplusDB Client时,就要通过启动参数指定与目标表对应的TDR文件
使用该参数时,如果导入的是XML格式的数据文件,则文件结构严格满足XML语法要求
encode 不支持(回车字符或不可见字符已预处理) 当导入的CSV格式的数据文件时,才可以使用该参数。
指定该参数后,导出命令会将含有回车字符或不可见字符的string类型字段值进行BASE64编码后,再输出
注:使用了encode参数导出数据文件,再导入时,需要指定decode参数
into 目标数据文件(3.55版本支持指定字段导出,需提前执行enable delta result设置,enable delta result 仅在单次运行tcaplus_client期间生效,通常不需要再disable) 目标数据文件
shardid 指定导出哪个数据分片(Shard)分片数据,必须与offset参数一起使用 指定导出哪个数据分片(Shard)分片数据,必须与offset参数一起使用
offset 指定导出数据的开始位置,必须与shardid参数一起使用 指定导出数据的开始位置,必须与shardid参数一起使用
\M 3.46.0版本起支持 从主副本遍历数据(用于对数据实时要求较高的场景,对其它数据读写会造成一定性能影响) 从主副本遍历数据(用于对数据实时要求较高的场景,对其它数据读写会造成一定性能影响
\T 不支持 输出数据以\t作为字段分隔符(3.46版本开始支持 ) 否,默认以,为分隔符

5. 命令示例

表定义详见示例表定义

tcaplus> dump * from table_list limit 0 offset 100 shardid 10;
uin,name,key1,level,count,array_count,items,c_int8,c_uint8,c_int16,c_uint16,c_int32,c_uint32,c_int64,c_uint64,c_float,c_double,c_string,c_string_128K,c_string_256K,c_binary,binary,selector,single_struct,simple_struct,single_union_selector,single_union,array,c_union,union_array,c_struct,struct_array
99,"99",99,1,0,1,0x,-1,2,-3,4,-5,6,-7,0,1.234568,9.876543,"","123456789","123456789",0x,0,0,0x,0x,0,0x,0x,0x,0x,0x,0x
99,"99",99,1,0,1,0x,-1,2,-3,4,-5,6,-7,0,1.234568,9.876543,"","123456789","123456789",0x,0,0,0x,0x,0,0x,0x,0x,0x,0x,0x
99,"99",99,1,0,1,0x,-1,2,-3,4,-5,6,-7,0,1.234568,9.876543,"","123456789","123456789",0x,0,0,0x,0x,0,0x,0x,0x,0x,0x,0x
99,"99",99,1,0,1,0x,-1,2,-3,4,-5,6,-7,0,1.234568,9.876543,"","123456789","123456789",0x,0,0,0x,0x,0,0x,0x,0x,0x,0x,0x

dump 4 records successful

dump time: 121671 us

tcaplus> dump * into table_list.txt from table_list;

dumped 4 records successful

tcaplus> dump * into table_list.xml from table_list using tdr;

dumped 4 records successful

tcaplus> dump *  from table_list_bin encode;
uin,name,level,count,items,name_1,name_2,binary_count,binary,single_struct
1,"MQ==",1,0,0x,"Bw==","",5,0x03001234450000,0x030000000002000000033ff00a915379fa980400000006343334333200
1,"MQ==",1,0,0x,"Bw==","",5,0x03001234450000,0x030000000002000000033ff00a915379fa980400000006343334333200
1,"Mw==",1,0,0x,"","",5,0x1232123443,0x
1,"Mw==",1,0,0x,"","",5,0x1232123443,0x
1,"Mw==",1,0,0x,"","",5,0x1232123443,0x
1,"Mw==",1,0,0x,"","",5,0x1232123443,0x
1,"Ng==",1,0,0x,"Bw==","",5,0x03005645890000,0x030000000001000000013ff1c28f5c28f5c3010000000100
1,"Ng==",1,0,0x,"Bw==","",5,0x03005645890000,0x030000000001000000013ff1c28f5c28f5c3010000000100

6. 常见错误

参考常见错误文档。

results matching ""

    No results matching ""