【kettle002】kettle访问人大金仓KingbaseES数据库并处理数据至execl文件

一直以来想写下基于kettle的系列文章,作为较火的数据ETL工具,也是日常项目开发中常用的一款工具,最近刚好挤时间梳理、总结下这块儿的知识体系。

熟悉、梳理、总结下人大金仓KingbaseES数据库相关知识体系

  • kettle访问人大金仓KingbaseES数据库并处理数据至execl文件文章目录索引如下所示:

1.环境搭建、配置

  • 1.0 实验环境

    • Windows 10
    • CentOS 7.1(虚拟机)
    • Docker version 26.0.2
    • Dbeaver
    • Kettle 8.2
    • KingbaseEs V8R3,kingbase (Kingbase) V008R003C002B0290
  • 1.1 拉取人大金仓KingbaseES数据库镜像

    bash 复制代码
    docker pull godmeowicesun/kingbase
  • 1.2 创建目录文件

    bash 复制代码
    mkdir -p /opt/docker/kingbase-latest/spft
    chmod 777 /opt/docker/kingbase-latest/spft
    mkdir -p /opt/docker/kingbase-latest/spft/license
  • 1.3 下载授权文件,并上传至目标路径

    • 官网地址可下载标准版证书(可根据自身需求选择授权文件版本):https://www.kingbase.com.cn/xzzx/index.htm。如下图所示:
    • 授权文件上传目标路径:/opt/docker/kingbase-latest/spft
  • 1.4 创建镜像容器

    bash 复制代码
    # 参考模版
    # docker run -d -it --privileged=true -p [对外端口号]:54321 -v [本地主机的虚拟挂载路径]:/opt --name kingbase-latest godmeowicesun/kingbase:latest
    
    # 实操命令,注意如果不带 /bin/bash 数据库无法有效启动,将不能建立有效链接
    docker run -d -it --privileged=true -p 54321:54321 -v /opt/docker/kingbase-latest/spft:/opt --name kingbase-v8 godmeowicesun/kingbase:latest /bin/bash
    • 效果图如下所示:
  • 1.5 DBeaver链接测试

    • 新建 驱动管理器数据库 --》 驱动管理器 --》 新建库 --》 添加kingbasev8驱动文件

    • 数据库访问默认信息

      sql 复制代码
      端口: 54321
      用户名: SYSTEM
      密码: 123456
      默认数据库: TEST
    • 待确认解决问题,后续有时间定位下具体问题

2.人大金仓KingbaseES数据库链接测试

  • 2.1 SQL测试脚本

    sql 复制代码
    select * from youli001.youli_test
    
    -- drop table youli001.youli_test;
    
    create table youli001.youli_test(
    	id varchar(32) not null,
    	remark varchar(255),
    	length int8,
    	front text, 
    	status smallint,
    	range float8,
    	create_time timestamp
    );
    
    create index createtime on youli001.youli_test(create_time);
    comment on column youli001.youli_test.remark is '备注';
    comment on column youli001.youli_test.length is '长度';
    comment on column youli001.youli_test.status is '状态';
    comment on column youli001.youli_test.range is '范围';
    comment on column youli001.youli_test.create_time is '创建时间';
    
    insert into youli001.youli_test values('001', 'good', 12, 'good', 0, 0.34, now());
    insert into youli001.youli_test values('002', 'good', 12, 'good', 0, 0.34, now());
    insert into youli001.youli_test values('003', 'good', 12, 'good', 0, 0.34, now());
    insert into youli001.youli_test values('004', 'good', 12, 'good', 0, 0.34, now());
    insert into youli001.youli_test values('005', 'good', 12, 'good', 0, 0.34, now());
    insert into youli001.youli_test values('006', 'good', 12, 'good', 0, 0.34, now());
    insert into youli001.youli_test values('007', 'good', 12, 'good', 0, 0.34, now());
    insert into youli001.youli_test values('008', 'good', 12, 'good', 0, 0.34, now());
    insert into youli001.youli_test values('009', 'good', 12, 'good', 0, 0.34, now());
    insert into youli001.youli_test values('010', 'good', 12, 'good', 0, 0.34, now());
    insert into youli001.youli_test values('011', 'good', 12, 'good', 0, 0.34, now());
  • 2.2 查询示例效果

3.kettle流程任务配置、效果验证

  • 3.1 表输入 测试链接 OK

  • 系统级schema:

    • pg_catalog 包含着系统目录表、内建数据类型、函数和操作符。 即便在 schema 搜索路径中没有显式地提到它,它也总是 schema 搜索路径的一部分
    • gp_toolkit 是一个管理用途的 schema ,它包含用户可以用 SQL 命令访问的外部表、视图和函数。 所有的数据库用户都能访问gp_toolkit 来查看和查询系统日志文件以及其他系统指标
    • pg_aoseg 存储追加优化表对象。 这个 schema 由 数据库系统内部使用
    • pg_bitmapindex 存储位图索引对象,例如值的列表。 这个 schema 由 数据库系统内部使用
    • pg_toast 存储大型对象,如超过页面尺寸的记录。 这个 schema 由 数据库系统内部使用
    • information_schema 有一个包含数据库中对象信息的视图集合组成。 这些视图以一种标准化的方式从系统目录表中得到系统信息
  • 其他参考命令

    bash 复制代码
    # docker 人大金仓登录数据库
    ksql -h 127.0.0.1 -U SYSTEM -d TEST
    
    create tablespace youli location '/opt'; 
    
    # linux 查看端口号
    lsof -i :54321
    
    # 查看启动服务
    ps -ef

4.参考文章

相关推荐
雨笋情缘6 天前
Apache HOP (Hop Orchestration Platform) VS Data Integration (通常被称为 Kettle)
kettle·apache hop
Liang.Wang11 天前
kettle将Excel数据导入oracle
数据库·oracle·excel·etl·kettle
小米的修行之路19 天前
windows远程连接银河麒麟系统中的人大金仓数据库
windows·人大金仓·银河麒麟
Jack_hrx19 天前
人大金仓(Kingbase)数据库高阶函数详解
数据库·高阶函数·窗口函数·kingbase·人大金仓
RestCloud1 个月前
ETL数据集成丨主流ETL工具(ETLCloud、DataX、Kettle)数据传输性能大PK
etl·kettle·datax·数据集成·etlcloud·数据传输·同步性能
ciku2 个月前
Windows环境人大金仓数据库命令常规操作
数据库·人大金仓
兔八哥20092 个月前
kettle中调用restful接口时的SSL信任证书问题
restful·ssl·etl·kettle
damokelisijian8662 个月前
mysql数据库切换成kingbase(人大金仓)数据库时遇到的字段不存在问题
数据库·kingbase·人大金仓
warrah2 个月前
使用kettle做的数据同步案例
mongodb·kettle
zhangjin12222 个月前
kettle从入门到精通 第六十八课 ETL之kettle kettle随机数生成的一些方案
数据仓库·etl·kettle·kettle生成随机数·kettle随机数