sys_bulkload使用方法介绍
关键字:
KingbaseES、sys_bulkload、快速加载、人大金仓
一、sys_bulkload介绍
1.1概述
sys_bulkload是KingbaseES提供的一个快速加载数据的命令行工具,通过sys_bulkload命令可以将一定格式的文本数据快速的加载到金仓数据库中,也可以使数据库中的数据快速导出到CSV文件中,适用于导入导出数据量特别大的场景。
1.2参数介绍
命令行参数:
sys_bulkload [ options ][ control_file_path ]
其中option参数包括 一般选项、加载选项和连接选项,control_file_path代表指定配置文件的路径。
常用参数选项:
-i 和 --input
指定待加载文件或需要导出数据的表
-O 和 --output
快速加载的目标表或接收导出数据的文件路径
-l 和 --logfile
日志存放路径
-P 和 --parse-badfile
无法正确解析或写失败的日志路径
-u 和 --duplicate_badfile
重建索引时与唯一性约束冲突导入失败的记录写入路径
-d 和 --dbname
指定连接的数据库,如果未指定该参数,数据库名将从环境变量KINGBASE_DATABASE中读取
-h 和 --host
指定运行服务器的主机名
-p 和 --port
指定端口号
-U 和 --username
指定连接用户名
-W 和 --password
连接用户的数据库登录密码
以上参数有两种设置方式,其中左边第一种为短选项参数类型,右边第二种参数类型为长选项参数类型,sys_bulkload工具可通过选项命令和配置文件两种方式进行启动,配置文件启动快速加载命令一般使用第二种参数类型。
此外还有一般性选项如下:
-e 和 --echo
输出发送给服务器的命令
-E 和 --elevel
设置输出信息级别
--help
输出帮助信息
--version
输出版本号
1.3配置文件介绍
一般来讲,由于加载的选项和配置的信息较多,且配置的参数类型较为固定,能够反复使用,所以往往将待加载的选项配置在配置文件中,指定相关路径和信息能够方便的反复使用快速加载工具。
配置文件中包含了加载数据所需要的配置,其中必填的参数有:
- TYPE = CSV | TEXT | BINARY | DB
表示加载数据源的类型,支持CSV、TEXT、二进制和数据库表的格式。
- INPUT = PATH | [schema_name.] table_name
需要导入的数据文件路径或者导出数据的源表
- OUTPUT = [schema_name.] table_name | PATH
指定将数据导入的目标表或者目标文件
- LOGFILE = PATH
指定一个文件记录日志的存放路径
二、sys_bulkload的使用
2.1 服务器上使用sys_bulkload工具导出数据
在服务器上使用sys_bulkload工具需要将配置文件路径和数据库连接参数传入快速加
载的系统函数或执行程序即可。
在使用前需要在对应kingbase.conf文件下配置sys_bulkload参数,并手动创建插件。
首先编写对应的配置文件如下
其中PROCESSOR_COUNT参数代表指定服务器并行处理的进程数为4。
DELIMITER参数代表数据文件中列与列之间的间隔符’,’。
LOGFILE参数代表指定一个文件记录日志的存放路径为/home/kingbase/sit04-1013/KES/output.log。
TYPE参数代表加载数据源的类型为DB,表示从数据库表中导出数据。
INPUT参数代表导出数据的源表为products表。
OUTPUT参数表示将数据导入进/home/kingbase/sit04-1013/KES/EMPLOYEE.csv目标文件。
WRITER参数表示指定数据的加载方式,默认值为BUFFERED,表示通过共享缓冲区将数据加载到表中。当为CSV_FILE时,表示将数据库中的数据导出到CSV格式的文本文件中。
其次进入到ClientTools/bin目录下执行快速加载命令,将表导出到EMPLOYEE.csv文件中。
最后在OUTPUT路径下查看导出的表文件,如下。
打开output.log文件查看快速加载日志信息如下。
2.2 在KStudio工具上使用sys_bulkload工具导入数据
在kstudio工具上只能通过配置文件来启动快速加载选项。
导入数据步骤:
首先提前创建好配置文件input.ctl
打开KStudio,进入快速加载界面,并选择对应控制文件
选择对应配置文件input.ctl后,工具会自动识别配置文件中的内容
之后点击确定加载完成后,工具返回快速加载成功提示。
查询对应数据库下EMPLOYEE表数据,检查发现已成功将EMPLOYEE.csv数据加载完成至数据库表中。
三、需要注意的
1、在导入数据场景下需要在对应节点下提前手动创建配置文件中所对应的表和表内字
段。
2、在启动参数选项中仍然可以指定配置文件中已经配置过的加载选项,来替换配置文件中
的参数,配置文件和启动参数同时指定以启动参数为准,使用启动参数时input,output,logfile,parse_badfile,duplicate_badfile参数不能多次指定。
3、配置文件中参数选项不区分大小写。