【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

相关文章

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

Java Response返回值的最佳处理方案

《JavaResponse返回值的最佳处理方案》在开发Web应用程序时,我们经常需要通过HTTP请求从服务器获取响应数据,这些数据可以是JSON、XML、甚至是文件,本篇文章将详细解析Java中处理... 目录摘要概述核心问题:关键技术点:源码解析示例 1:使用HttpURLConnection获取Resp

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

Java中Switch Case多个条件处理方法举例

《Java中SwitchCase多个条件处理方法举例》Java中switch语句用于根据变量值执行不同代码块,适用于多个条件的处理,:本文主要介绍Java中SwitchCase多个条件处理的相... 目录前言基本语法处理多个条件示例1:合并相同代码的多个case示例2:通过字符串合并多个case进阶用法使用

Java实现优雅日期处理的方案详解

《Java实现优雅日期处理的方案详解》在我们的日常工作中,需要经常处理各种格式,各种类似的的日期或者时间,下面我们就来看看如何使用java处理这样的日期问题吧,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言一、日期的坑1.1 日期格式化陷阱1.2 时区转换二、优雅方案的进阶之路2.1 线程安全重构2

SpringBoot使用GZIP压缩反回数据问题

《SpringBoot使用GZIP压缩反回数据问题》:本文主要介绍SpringBoot使用GZIP压缩反回数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot使用GZIP压缩反回数据1、初识gzip2、gzip是什么,可以干什么?3、Spr

Python处理函数调用超时的四种方法

《Python处理函数调用超时的四种方法》在实际开发过程中,我们可能会遇到一些场景,需要对函数的执行时间进行限制,例如,当一个函数执行时间过长时,可能会导致程序卡顿、资源占用过高,因此,在某些情况下,... 目录前言func-timeout1. 安装 func-timeout2. 基本用法自定义进程subp

Java字符串处理全解析(String、StringBuilder与StringBuffer)

《Java字符串处理全解析(String、StringBuilder与StringBuffer)》:本文主要介绍Java字符串处理全解析(String、StringBuilder与StringBu... 目录Java字符串处理全解析:String、StringBuilder与StringBuffer一、St

数据库面试必备之MySQL中的乐观锁与悲观锁

《数据库面试必备之MySQL中的乐观锁与悲观锁》:本文主要介绍数据库面试必备之MySQL中乐观锁与悲观锁的相关资料,乐观锁适用于读多写少的场景,通过版本号检查避免冲突,而悲观锁适用于写多读少且对数... 目录一、引言二、乐观锁(一)原理(二)应用场景(三)示例代码三、悲观锁(一)原理(二)应用场景(三)示例

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient