首页 > 其他分享 >KingbaseES 使用sys_bulkload远程导入

KingbaseES 使用sys_bulkload远程导入

时间:2023-05-09 19:45:03浏览次数:36  
标签:10 Rows 08 sys test path bulkload home KingbaseES

前言

sys_bulkload 常见场景是本地导入数据,也可以在远程运行 sys_bulkload ,对数据库上的CSV 文件进行导入。远程导入数据时候需要注意,csv文件和ctl文件所在服务器。以下举例展示整个远程导入的过程。

测试环境V8R6C7

演示目的将数据从 IP2 所在服务器导入到IP3远程服务器上。
IP3服务器上操作:
测试前创建扩展插件
create extention sys_bulkload;

创建测试表
create table testu(id int primary key, info text, crt_time timestamp);


在IP3服务器上创建ctl文件,/home/kingbase7/ 目录为IP3服务器kingbase用户家目录。
vi test.ctl

TABLE = testu
INPUT = /home/kingbase7/test.csv
TYPE = CSV
SKIP = 2
LIMIT = 5
WRITER = BUFFERED
PROCESSOR_COUNT = 3


创建数据源
vi test.csv

1,29b35ff06c949e7e442c929e1df86396,2017-10-08 10:52:47.746062
2,06fde814525395de5ab85f6d92b04e87,2017-10-08 10:52:47.746573
3,c93f02e8677c9cd7c906c6ad5dbd450e,2017-10-08 10:52:47.746627
4,6541700070ae3d051f965fcef43baf45,2017-10-08 10:52:47.746835
5,3d7e7246016acaa842526b6614d0edf5,2017-10-08 10:52:47.746869

将test.ctl 移动到IP2远程服务器上,注意这里不需要将csv文件移动到IP2服务器上,因为input记录的csv文件位置在IP3服务器上的kingbase7目录下
scp -r /home/kingbase7/test.ctl [email protected]:/home/kingbase/


**在 IP2远程服务器上执行sys_bulkload导入命令。注意ctl文件一定确保存在IP2服务器上,csv文件一定确保在IP3 服务器上。**否则报错找不到文件或目录
[kingbase@localhost ~]$ sys_bulkload -h 192.168.56.3 -d TEST /home/kingbase/test.ctl -U SYSTEM -W 123456 -p 2907
NOTICE: BULK LOAD START
NOTICE: BULK LOAD START
NOTICE: BULK LOAD START
NOTICE: BULK LOAD END
        3 Rows skipped.
        1 Rows successfully loaded.
        0 Rows not loaded due to parse errors.
        0 Rows not loaded due to duplicate errors.
        0 Rows replaced with new rows.
        log path: testu.log
        parse error path: /home/kingbase7/test.bad
        duplicate error path: /home/kingbase7/test.dupbad
        ctrl file path: /home/kingbase/test.ctl
        data file path: /home/kingbase7/test.csv
        Run began on 2023-03-10 14:21:48.033174+08
        Run ended on 2023-03-10 14:21:48.033661+08
NOTICE: BULK LOAD END
        2 Rows skipped.
        1 Rows successfully loaded.
        0 Rows not loaded due to parse errors.
        0 Rows not loaded due to duplicate errors.
        0 Rows replaced with new rows.
        log path: testu.log
        parse error path: /home/kingbase7/test.bad
        duplicate error path: /home/kingbase7/test.dupbad
        ctrl file path: /home/kingbase/test.ctl
        data file path: /home/kingbase7/test.csv
        Run began on 2023-03-10 14:21:48.035869+08
        Run ended on 2023-03-10 14:21:48.036169+08
NOTICE: BULK LOAD END
        4 Rows skipped.
        1 Rows successfully loaded.
        0 Rows not loaded due to parse errors.
        0 Rows not loaded due to duplicate errors.
        0 Rows replaced with new rows.
        log path: testu.log
        parse error path: /home/kingbase7/test.bad
        duplicate error path: /home/kingbase7/test.dupbad
        ctrl file path: /home/kingbase/test.ctl
        data file path: /home/kingbase7/test.csv
        Run began on 2023-03-10 14:21:48.034591+08
        Run ended on 2023-03-10 14:21:48.035150+08

在.3服务器上查询,数据导入完成。之前设置的skip表示跳过前两行数据。
TEST=# select * from testu;
 id |               info               |          crt_time
----+----------------------------------+----------------------------
  4 | 6541700070ae3d051f965fcef43baf45 | 2017-10-08 10:52:47.746835
  5 | 3d7e7246016acaa842526b6614d0edf5 | 2017-10-08 10:52:47.746869
  3 | c93f02e8677c9cd7c906c6ad5dbd450e | 2017-10-08 10:52:47.746627
(3 rows)

总结

使用sys_bulkload远程导入时候,需要将ctl文件放在远程服务器上,csv数据文件放在需要导入的目标数据库所在服务器上。

标签:10,Rows,08,sys,test,path,bulkload,home,KingbaseES
From: https://www.cnblogs.com/kingbase/p/17252448.html

相关文章

  • KingbaseES 复制冲突之锁类型冲突
    背景昨天遇到客户现场的一个有关复制冲突的问题备库报错:ERROR:cancelingstatementduetoconflictwithrecovery,userwasholdingarelationlockfortoolong现场情景是备库执行逻辑备份过程中出现的报错,逻辑备份相当于备库查询语句,snapshot,这时主库业务繁忙,对备库查询......
  • KingbaseES V8R6 等待事件之LWLock Buffer_IO
    等待事件含义当进程同时尝试访问相同页面时,等待其他进程完成其输入/输出(I/O)操作时,会发生LWLock:BufferIO等待事件。其目的是将同一页读取到共享缓冲区中。每个共享缓冲区都有一个与LWLock:BufferIO等待事件相关联的I/O锁,每次都必须在共享缓冲区外部检索页。此锁用于处理多个会......
  • KingbaseES V8R3 集群运维系列 -- failover切换后集群自动恢复
    ​案例说明:KingbaseESV8R3集群默认在触发failover切换后,为保证数据安全,原主库需要通过人工介入后,恢复为新的备库加入到集群。在无人值守的现场环境,需要在触发failover切换后,主库可以自动恢复为新备考加入集群,提升架构的高可用性。适用版本:KingbaseESV8R3集群架构:node_id......
  • 台式机装Ubuntu 遇到“no root file system is defined”、安装类型上没有“删除直接
    今日,给清华要的两台电脑终于拿到手了(下午拿到的,具体坎坷经历见日报)。开始配环境,主要是三个步骤:1、装Linux2、装网卡和网卡驱动3、装GNU_radio一系列环境(见我上个月虚拟机的操作方案)今天完成了1和2.最恶心的是1.首先报的错误是,norootfilesystemisdefined,确实,但是为什么......
  • viostor.sys oxc0000428
    viostor.sysoxc0000428首先重启电脑,长按F8键,进入系统的高级启动菜单,选择【禁用驱动程序签名强制】,按回车键。......
  • Windows下SYSTEM权限文件夹的删除方法
    (不一定对所有情况都能用..。但是目前发现比较简单有效...)以C:/Windows.old文件夹为例,一般来说都无法完全删除,到最后总会提示需要SYSTEM权限。怎么办呢,下载一个VSCode,然后用VSCode打开Windows.old文件夹,便可采用VSCode将该文件夹下的所有内容删除干净...(我也不知道原理,但是属......
  • 关于docker的Cgroup Driver相关的配置说明以及其值为cgroupfs与systemd的区别
    在我们安装完docker-ce软件后(笔者这里安装的docker-ce-20.10.24-3.el8.x86_64)就可以直接启动docker服务 systemctlrestartdocker.service这时我们通过 dockerinfo命令,可以看到当前docker的一些配置信息,今天笔者主要是看CgroupDriver相关的,如下:[root@k8s-masterqq-5201......
  • 1 - Hand on system programming with Linux - 虚拟内存
    虚拟内存我的博客虚拟内存现代操作系统基于称作虚拟内存的内存模型。这些操作系统包括Linux、UNIX、MSWindows以及macOS。要想真正理解现代操作系统,必须深入理解虚拟内存以及内存管理。没有虚拟内存会有什么问题现在,让我们考虑一个只具有64MBRAM物理内存的情况。在老......
  • 关于Kubernetes-v1.23.6-初始化时报错[WARNING FileExisting-tc]: tc not found in sy
    今天笔者在部署Kubernetes-v1.23.6版本时,在对master节点使用如下命令进行初始化时,报错:[WARNINGFileExisting-tc]:tcnotfoundinsystempath当然其实也从字符意义上来看,只能算是WARNING提醒,不会影响主要的功能和结果,但既然有这个提醒,就可能就在某些地方是有轻微影响的,为了......
  • WEB|[BJDCTF2020]EasySearch
    扫描发现为index.php.swp源码泄漏<?php ob_start(); functionget_hash(){ $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()+-'; $random=$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[......