TcaplusDB Client - load命令
TcaplusDB Client的使用方法参见文档。
1. 功能说明
将本地数据文件导入TcaplusDB数据表中。
目前支持CSV和XML两种数据文件格式。
默认情况下,Generic表以替换数据(数据不存在则插入,数据存在则覆盖)的方式导入,
List表以插入数据的方式导入(已存在的大key下,新插入的记录的index会在服务端已有的最大的index基础上加1;如果是新的大key则为第一个元素,index为0)。
如果希望以更新数据的方式导入数据,则需要显示使用update
参数。`
请注意,保存查询结果的文件名不能以数字开头。
2. 启始版本
3.40.0开始支持load命令,3.55.0支持load时指定qps上限(在启动tcaplus_client工具时通过-q参数指定),如不指定,则load命令的默认qps为3k-5k。
3. 命令语法
##导入CSV格式的数据文件
load table infile 文件名 [decode] [update] [\F] [\T];
##导入XML格式的数据文件
load table infile 文件名 using tdr;
参数说明:
参数 | 当目标表是PB表时 | 当目标表是TDR表时 | 必填项 |
---|---|---|---|
table | 表格的名字 | 表格的名字 | |
using tdr | 不支持 | 如果需要使用该参数,则在启动TcaplusDB Client时,就要通过启动参数指定与目标表对应的TDR文件 使用该参数时,如果导入的是XML格式的数据文件,则文件结构严格满足XML语法要求 |
否 |
decode | 不支持(特殊字符已预处理) | 当导入的CSV格式的数据文件时,才可以使用该参数,用于将数据文件中已编码的数据(针对含有回车字符或不可见字符的string类型值进行了BASE64编码)解码后再导入 | 否 |
infile | 数据文件 | 数据文件 | 是 |
update | 使用该参数后,Generic表将以更新数据(如果数据不存在则导入失败)的方式导入,List表不支持此参数 | 使用该参数后,List表将以替换数据的方式导入,Generic表将以更新数据(如果数据不存在则导入失败)的方式导入 | 否 |
\F | 输出导入失败的数据到文件,文件名固定为:failedrecord | 输出导入失败的数据到文件,文件名固定为:failedrecord 注意:不可与using tdr参数一起使用 |
否 |
\T | 不支持 | 输出记录以\t 作为字段分隔符 |
否,默认以, 为分隔符 |
注:string字段必须用 ""
括起来,若以,
为分隔符记录中请避免数据中出现字符",
,否则数据会被截断,此时可选择使用\t
作为分隔符。
4. 命令示例
使用中用的数据文件下载链接:
表定义详见示例表定义。
tcaplus> load table_list infile table_list_dump.xml using tdr;
loaded 49 records successful
tcaplus> load table_list infile table_list-dump.txt;
loaded 98 records successful
tcaplus> dump * into test1 from table_list_bin limit 0 encode;
total 4 records successful
used time: 47094 us
tcaplus> load table_list_bin infile test1 decode;
loaded 4 records successful
tcaplus> load test_table infile test_g update;
------------------------------------- Error ------------------------------------
txhdb_record_not_exist, ret = 261 m_recv_row_id = 2
--------------------------------------------------------------------------------
send 3 records, but only 2 records are success
load time: 5176 us
5. 常见错误
参考常见错误文档。