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

embedded/2024/9/23 1:34:27/

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

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数据库镜像

    docker pull godmeowicesun/kingbase
    
  • 1.2 创建目录文件

    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 创建镜像容器

    # 参考模版
    # 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驱动文件
      在这里插入图片描述
    • 数据库访问默认信息
      端口: 54321
      用户名: SYSTEM
      密码: 123456
      默认数据库: TEST
      
    • 待确认解决问题,后续有时间定位下具体问题
      在这里插入图片描述

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

  • 2.1 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 查询示例效果
    在这里插入图片描述

kettle_88">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 有一个包含数据库中对象信息的视图集合组成。 这些视图以一种标准化的方式从系统目录表中得到系统信息
  • 其他参考命令
    # docker 人大金仓登录数据库
    ksql -h 127.0.0.1 -U SYSTEM -d TESTcreate tablespace youli location '/opt'; # linux 查看端口号
    lsof -i :54321# 查看启动服务
    ps -ef
    

4.参考文章

  • https://blog.csdn.net/fy512/article/details/126546899
  • https://www.kingbase.com.cn/xzzx/index.htm
  • https://help.kingbase.com.cn/v8/install-updata/install-docker/install-docker-3.html

http://www.ppmy.cn/embedded/13114.html

相关文章

【Git系列】rebase的使用场景

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Mysql 锁学习笔记

目录 Innodb锁 共享锁与排它锁 锁兼容级别 意向锁 - 表级锁 代码示例 表级锁类型兼容性 行锁 代码示例 间隙锁 代码示例 临键锁 - 行锁加间隙锁 插入意向锁 自增锁 SELECT的加锁规则 (RR) 查看锁状态命令 3.0 前置条件 3.1 主键检索 3.2 唯一索引检索 3.3 普…

去雾笔记01-SRKTDN: Applying Super Resolution Method to Dehazing Task

文章目录 Abstract1. Introduction2. Related Work3. Method3.1. Network Architecture Abstract 们提出了一种结合超分辨方法和知识转移方法的模型。我们的模型由一个教师网络、一个去雾网络和一个超分辨率网络组成。 1. Introduction ECNU KT团队提出了一个知识蒸馏[20]模…

Midjourney如何实现人物角色的一致性?

在数字艺术和AI生成媒体的发展中,保持人物一致性是一个巨大的挑战。Midjourney作为一个先进的图像生成平台,它如何确保在连续的图像生成过程中,同一人物能保持一致的外观和特征呢?本文将深入探讨Midjourney如何通过技术手段实现这…

计算机网络的基础知识

tcp叫段,udp叫报,ip叫包,链路层叫帧。 我们在网线中跑的就是帧。 tcp段和udp报没有长度限制,只有在ip层和链路层才有包和帧的最大限制。 一个tcp段,在tcp缓存区中被封装,然后传到ip层进行拆分和封装&#x…

行业早报4.24

1.哪吒汽车母公司合众汽车获至少 50 亿元投资,将尽快实现 IPO 上市; 2.消息称抖音生活服务一季度销售额超 1000 亿,但未缩小与美团差距; 3.华晨宝马 2023 年国内销量约 71 万辆,同比增长 6.8%,3 系成主力车…

x264 编码器亚像素处理流程

H264编码标准中为什么需要亚像素数据 在H.264中,为了提高运动估计的精度,除了在整像素级别上进行搜索外,还会在亚像素级别(如1/2像素和1/4像素)上进行搜索,以找到最佳匹配块。在进行亚像素估计时,需要对非整数像素点进行插值计算。H.264标准中定义了多种插值方法,如六抽…

第七届蓝桥杯 c/c++ B组

标题:第几天 2000年的1月1日,是那一年的第1天。 那么,2000年的5月4日,是那一年的第几天? 注意:需要提交的是一个整数,不要填写任何多余内容。 125 直接查看电脑日历去数或者excal拉即可 标题…