【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

相关文章

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

Java 中的 @SneakyThrows 注解使用方法(简化异常处理的利与弊)

《Java中的@SneakyThrows注解使用方法(简化异常处理的利与弊)》为了简化异常处理,Lombok提供了一个强大的注解@SneakyThrows,本文将详细介绍@SneakyThro... 目录1. @SneakyThrows 简介 1.1 什么是 Lombok?2. @SneakyThrows

在 Spring Boot 中实现异常处理最佳实践

《在SpringBoot中实现异常处理最佳实践》本文介绍如何在SpringBoot中实现异常处理,涵盖核心概念、实现方法、与先前查询的集成、性能分析、常见问题和最佳实践,感兴趣的朋友一起看看吧... 目录一、Spring Boot 异常处理的背景与核心概念1.1 为什么需要异常处理?1.2 Spring B

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll

Pandas统计每行数据中的空值的方法示例

《Pandas统计每行数据中的空值的方法示例》处理缺失数据(NaN值)是一个非常常见的问题,本文主要介绍了Pandas统计每行数据中的空值的方法示例,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是空值?为什么要统计空值?准备工作创建示例数据统计每行空值数量进一步分析www.chinasem.cn处

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模