【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.参考文章

相关推荐
 嘘 7 天前
Centos使用人大金仓ksql
linux·运维·centos·人大金仓
isNotNullX21 天前
一文详解开源ETL工具Kettle!
大数据·数据仓库·etl·kettle
天地风雷水火山泽22 天前
二百七十二、Kettle——ClickHouse中增量导入数据重复性统计表数据(1天1次)
clickhouse·kettle
天地风雷水火山泽22 天前
二百七十五、Kettle——ClickHouse增量导入数据补全以及数据修复记录表数据(实时)
clickhouse·kettle
天地风雷水火山泽22 天前
二百七十三、Kettle——ClickHouse中增量导入数据准确性统计表数据(1天1次)
clickhouse·kettle
天地风雷水火山泽22 天前
二百七十四、Kettle——ClickHouse中对错误数据表中进行数据修复(实时)
clickhouse·kettle
天地风雷水火山泽24 天前
二百七十一、Kettle——ClickHouse增量导入数据清洗记录表
kettle
One_Piece11125 天前
kettle8.3 Oracle连接运行一段时间后:Socket read timed out
数据库·oracle·etl·kettle
天地风雷水火山泽1 个月前
二百七十、Kettle——ClickHouse中增量导入清洗数据错误表
clickhouse·kettle
天地风雷水火山泽1 个月前
二百六十八、Kettle——同步ClickHouse清洗数据到Hive的DWD层静态分区表中(每天一次)
hive·clickhouse·kettle