【kettle001】访问国产达梦数据库并处理数据至execl文件

2024-04-23 08:52

本文主要是介绍【kettle001】访问国产达梦数据库并处理数据至execl文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

1.环境准备

  • 搭建Linux(CentOS)虚拟机环境,以便能够快速完成实验所需环境。
  • 开发环境版本参数
    • CentOS 7.4 docker镜像服务器
    • DM Database Server 64 V8
    • Dbeaver
    • Kettle 8.2

在这里插入图片描述

  • docker版本太旧,yum update,配置镜像源,卸载旧版本重新安装解决问题。
    • 设置下载Docker的镜像源: yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
      在这里插入图片描述
      在这里插入图片描述

2.达梦数据库镜像下载、安装、运行

  • 2.1 达梦数据库Docker安装操作指南
  • 2.2 载入下载好的达梦数据库镜像,并运行容器
    docker load -i dm8_20220822_rev166351_x86_rh6_64_ctm.tar	# 载入镜像,替换为下载的文件名,不同下载名称可能不一致docker run -tid -p 15236:15236 --restart=always --name dm8_20 --privileged=true -e PAGE_SIZE=16 -e LD_LIBRARY_PATH=/opt/dmdbms/bin -e INSTANCE_NAME=dm8_01 -v /dm8_docker/data:/opt/dmdbms/data dm8_single:dm8_20230808_rev197096_x86_rh6_64docker logs -f dm8_20 	# 查看容器日志
    docker exec -it cab166f00a4f /bin/bash	# 进入容器登录数据库
    ps -ef|grep dmserverdocker stop  dm8_20		# 停止数据库命令
    docker start  dm8_20		# 启动数据库命令
    docker restart  dm8_20		# 重启数据库命令# 查看 Docker 镜像中数据库初始化的参数
    docker inspect dm8_20 
    
    • docker容器中登录正常,dbeaver连接异常,重新调整下端口映射(5236:5236),链接成功
    docker run -tid -p 5236:5236 --restart=always --name dm8_20 --privileged=true -e PAGE_SIZE=16 -e LD_LIBRARY_PATH=/opt/dmdbms/bin -e INSTANCE_NAME=dm8_01 -v /dm8_docker/data:/opt/dmdbms/data dm8_single:dm8_20230808_rev197096_x86_rh6_64# 其他命令
    # 查看防火状态
    systemctl status firewalld
    service  iptables status# 暂时关闭防火墙
    systemctl stop firewalld
    systemctl enable firewalld
    # 永久关闭防火墙
    systemctl disable firewalld# 重启防火墙
    service iptables restart# 开放端口
    sudo iptables -I INPUT -p tcp --dport 5236 -j ACCEPT
    sudo firewall-cmd --zone=public --add-port=5236/tcp --permanent# 重新加载防火墙规则
    sudo firewall-cmd --reload
    
    在这里插入图片描述
    在这里插入图片描述
  • 2.3 链接成功,创建测试表,并进行增、删、改、查操作
  • SQL建表及造数据语句
    create table employee
    (employee_id integer,employee_name varchar2(20) not null,hire_date date,salary integer,department_id integer not null
    );insert into employee VALUES (1, '王达梦','2008-05-30 00:00:00', 30000, 666);
    insert into employee VALUES (2, '王达梦','2008-05-30 00:00:00', 30000, 666);
    insert into employee VALUES (3, '王达梦','2008-05-30 00:00:00', 30000, 666);
    insert into employee VALUES (4, '王达梦','2008-05-30 00:00:00', 30000, 666);
    insert into employee VALUES (5, '王达梦','2008-05-30 00:00:00', 30000, 666);
    insert into employee VALUES (6, '王达梦','2008-05-30 00:00:00', 30000, 666);
    insert into employee VALUES (7, '王达梦','2008-05-30 00:00:00', 30000, 666);
    insert into employee VALUES (8, '王达梦','2008-05-30 00:00:00', 30000, 666);
    insert into employee VALUES (9, '王达梦','2008-05-30 00:00:00', 30000, 666);
    insert into employee VALUES (10, '王达梦','2008-05-30 00:00:00', 30000, 666);
    insert into employee VALUES (11, '王达梦','2008-05-30 00:00:00', 30000, 666);
    insert into employee VALUES (12, '王达梦','2008-05-30 00:00:00', 30000, 666);
    insert into employee VALUES (13, '王达梦','2008-05-30 00:00:00', 30000, 666);select * from employee;update employee set salary='35000' where employee_id=9999;
    
    在这里插入图片描述

3.kettle访问达梦数据库并处理数据至文件

  • 3.1 下载达梦数据库驱动包,官网下载地址:JAVA_Hibernate_lib.zip。驱动文件如下压缩包解压所示:
    • 注意驱动包版本跟JDK版本对应关系,本地安装jdk1.8,适配达梦数据库DmJdbcDriver18.jar
    在这里插入图片描述
    • 3.2 将驱动包 DmJdbcDriver18.jar 放入kettle中的lib目录中。如下图所示,重启、测试链接
    • 在这里插入图片描述
  • 3.3 kettle表输入链接成功,配置信息如下,链接效果如下图所示。
    jdbc:dm://192.168.10.183:5236/
    dm.jdbc.driver.DmDriver-- 镜像数据库默认用户名及密码
    SYSDBA / SYSDBA001
    
    在这里插入图片描述
  • 3.4 新建 表输入 、Execl输出 节点,测试后执行,并查看输出结果
    在这里插入图片描述

4.本次实验材料下载

  • 下载链接: 链接: https://pan.baidu.com/s/16loNVvvSw-032DeGPgOvsg?pwd=y6yu 提取码: y6yu
  • 材料详情如下图所示:
    在这里插入图片描述

这篇关于【kettle001】访问国产达梦数据库并处理数据至execl文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

5 种使用Python自动化处理PDF的实用方法介绍

《5种使用Python自动化处理PDF的实用方法介绍》自动化处理PDF文件已成为减少重复工作、提升工作效率的重要手段,本文将介绍五种实用方法,从内置工具到专业库,帮助你在Python中实现PDF任务... 目录使用内置库(os、subprocess)调用外部工具使用 PyPDF2 进行基本 PDF 操作使用

分析 Java Stream 的 peek使用实践与副作用处理方案

《分析JavaStream的peek使用实践与副作用处理方案》StreamAPI的peek操作是中间操作,用于观察元素但不终止流,其副作用风险包括线程安全、顺序混乱及性能问题,合理使用场景有限... 目录一、peek 操作的本质:有状态的中间操作二、副作用的定义与风险场景1. 并行流下的线程安全问题2. 顺

Python异常处理之避免try-except滥用的3个核心原则

《Python异常处理之避免try-except滥用的3个核心原则》在Python开发中,异常处理是保证程序健壮性的关键机制,本文结合真实案例与Python核心机制,提炼出避免异常滥用的三大原则,有需... 目录一、精准打击:只捕获可预见的异常类型1.1 通用异常捕获的陷阱1.2 精准捕获的实践方案1.3

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别