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

本文主要是介绍【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数据库镜像

    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
      
    • 待确认解决问题,后续有时间定位下具体问题
      在这里插入图片描述

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

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

这篇关于【kettle002】kettle访问人大金仓KingbaseES数据库并处理数据至execl文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/932495

相关文章

Java访问修饰符public、private、protected及默认访问权限详解

《Java访问修饰符public、private、protected及默认访问权限详解》:本文主要介绍Java访问修饰符public、private、protected及默认访问权限的相关资料,每... 目录前言1. public 访问修饰符特点:示例:适用场景:2. private 访问修饰符特点:示例:

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用

Python将大量遥感数据的值缩放指定倍数的方法(推荐)

《Python将大量遥感数据的值缩放指定倍数的方法(推荐)》本文介绍基于Python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处理,并将所得处理后数据保存为新的遥感影像... 本文介绍基于python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

mysql数据库分区的使用

《mysql数据库分区的使用》MySQL分区技术通过将大表分割成多个较小片段,提高查询性能、管理效率和数据存储效率,本文就来介绍一下mysql数据库分区的使用,感兴趣的可以了解一下... 目录【一】分区的基本概念【1】物理存储与逻辑分割【2】查询性能提升【3】数据管理与维护【4】扩展性与并行处理【二】分区的

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

IDEA如何切换数据库版本mysql5或mysql8

《IDEA如何切换数据库版本mysql5或mysql8》本文介绍了如何将IntelliJIDEA从MySQL5切换到MySQL8的详细步骤,包括下载MySQL8、安装、配置、停止旧服务、启动新服务以及... 目录问题描述解决方案第一步第二步第三步第四步第五步总结问题描述最近想开发一个新应用,想使用mysq

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

Go语言使用Buffer实现高性能处理字节和字符

《Go语言使用Buffer实现高性能处理字节和字符》在Go中,bytes.Buffer是一个非常高效的类型,用于处理字节数据的读写操作,本文将详细介绍一下如何使用Buffer实现高性能处理字节和... 目录1. bytes.Buffer 的基本用法1.1. 创建和初始化 Buffer1.2. 使用 Writ