【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

相关文章

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

MySQL数据库中ENUM的用法是什么详解

《MySQL数据库中ENUM的用法是什么详解》ENUM是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用,下面:本文主要介绍MySQL数据库中ENUM的用法是什么的相关资料,文中通过代码... 目录mysql 中 ENUM 的用法一、ENUM 的定义与语法二、ENUM 的特点三、ENUM 的用法1

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查

python实现对数据公钥加密与私钥解密

《python实现对数据公钥加密与私钥解密》这篇文章主要为大家详细介绍了如何使用python实现对数据公钥加密与私钥解密,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录公钥私钥的生成使用公钥加密使用私钥解密公钥私钥的生成这一部分,使用python生成公钥与私钥,然后保存在两个文