【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_64
    
    
    docker logs -f dm8_20 	# 查看容器日志
    docker exec -it cab166f00a4f /bin/bash	# 进入容器登录数据库
    ps -ef|grep dmserver
    
    docker 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
  • 材料详情如下图所示:
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/565976.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

protoc初识

protoc初识 参考资料 https://blog.csdn.net/qq_46637011/article/details/135085568 https://blog.csdn.net/qq_39400324/article/details/134172333 一 前期准备 windows查看proto是否安装好及版本号 protoc --version windows查看路径下文件 dir 想在124.50机器上安…

HCIP【路由过滤、路由引入实验】

目录 实验要求: 实验拓扑图: 实验思路: 实验步骤: 一、配IP地址 二、在相应的设备上配置RIP协议和OSPF协议 三、路由引入 四、路由过滤 五、配置静默接口 实验要求: 1、按照图示配置 IP 地址,R1&a…

Android Glide centerCrop/fitCenter与ImageView的scaleType相互作用,Kotlin

Android Glide centerCrop/fitCenter与ImageView的scaleType相互作用&#xff0c;Kotlin <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width&quo…

Qt绘制边框有阴影兼容性问题

在Qt开发过程中&#xff0c;有时候我们要显示一个有阴影的对话框&#xff0c;这时一般采用自定义实现&#xff0c;然而最近在开发时软件时&#xff0c;Win11上显示正常&#xff0c;Win10或其他Win11电脑显示不正常&#xff0c;存在兼容性问题吗&#xff1f; 下面是具体的源码 …

day_8题解

利用最大公约数求最小公倍数 #include<iostream> using namespace std;int gcd(int a,int b) {return b?gcd(b,a%b):a; }int main() {long long a,b;cin>>a>>b;long long ansgcd(a,b);cout<<(a*b)/ans<<endl;return 0; }排序遍历&#xff0c;记…

不安全软件,2024 年供应商该如何应对漏洞?

关键在于代码 使用专用工具和系统分析产品代码编写的各个阶段。 与安全研究人员合作 理想情况下&#xff0c;每个供应商都应该有自己持续的漏洞赏金计划&#xff0c;以测试基础设施、软件发布流程和最终产品。这将有助于在真正的攻击发生之前发现漏洞&#xff0c;保护客户。…

Mockito

小王学习录 依赖注解MockSpy静态方法单元测试InjectMocks 注解Captor 注解BeforeAll 和 BeforeEach的区别ParameterizedTestValueSourceEnumSourceCsvSourceMethodSource 打桩打桩方式打桩参数匹配方式 依赖 <!-- https://mvnrepository.com/artifact/org.mockito/mockito-i…

Django模型的属性与方法

本节介绍Django模型的属性和方法&#xff0c;以及如何重写之前定义的模型方法等内容。 3.5.1 模型属性 Django模型中最重要的属性就是Manager&#xff0c;它是Django模型和数据库查询操作之间的接口&#xff0c;并且被用作从数据库当中获取实例的途径。如果Django模型中没有…

探索大型语言模型(LLM)在人类性格个性评估(MBTI)中的前景与应用

1.概述 大型语言模型&#xff08;LLM&#xff09;如ChatGPT在各个领域的应用确实越来越广泛&#xff0c;它们利用庞大的数据集进行训练&#xff0c;以模拟人类的语言理解和生成能力。这些模型在提供信息、解答问题、辅助决策等方面表现出了强大的能力&#xff0c;但它们并不具…

微电子领域常见概念(六)化学键合

微电子领域常见概念&#xff08;六&#xff09;化学键合 化学键合是化学中一个非常基础且重要的概念&#xff0c;它描述了原子之间通过电子的相互作用形成的连接。可以进行以下分类&#xff1a; 1. 离子键合&#xff08;Ionic Bonding&#xff09; • 定义&#xff1a;离子键合…

如何查看自己的公网IP?

我们在网络中&#xff0c;每一个设备都被分配了一个唯一的IP地址&#xff0c;用以区分和识别其他设备。公网IP地址是指可被公众访问的IP&#xff0c;是因特网上的全球唯一标识。当我们需要查看自己的公网IP时&#xff0c;可以采取以下几种方式。 使用命令行查看公网IP 在Windo…

书生·浦语大模型实战训练营--第二期第七节--OpenCompass大模型评测实战--homework

一、配置环境 安装下面的顺序以及自己的文件路径配置环境 conda create -n opencompass python3.10 -y 安装下面的包 absl-py accelerate>0.19.0 boto3 cn2an cpm_kernels datasets>2.12.0 einops0.5.0 evaluate>0.3.0 fairscale func_timeout fuzzywuzzy immutab…

Linux 系统IO函数之stat、lstat函数

1、stat函数 要点&#xff1a; int stat(const char *pathname, struct stat *statbuf); 作用&#xff1a;查看文件的信息 man 2 stat/return value1、stat结构体&#xff1a; 2、sturct stat 结构体中 st_mode 的含义&#xff08;文件的类型和存取的权限&#xff09;: st_mo…

zabbix“专家坐诊”第237期问答

问题一 Q&#xff1a;在一台虚拟机安装了mysql数据库服务器上安装了agent&#xff0c;将MySQL by Zabbix agent模板联接上去了&#xff0c;但增加的mysql监控项&#xff0c;全部显示为不支持的&#xff0c;这是什么原因&#xff1f; A&#xff1a;这个是自定义脚本的形式&#…

IBM SPSS Statistics for Mac:强大的数据分析软件

IBM SPSS Statistics for Mac是一款功能强大的数据分析软件&#xff0c;专为Mac用户设计&#xff0c;提供了一系列专业的统计分析和数据管理功能。无论是科研人员、数据分析师还是学生&#xff0c;都能从中获得高效、准确的数据分析支持。 IBM SPSS Statistics for Mac v27.0.1…

【UI】element-ui的el-dialog的遮罩层在模态框的前面bug

最近在写element ui 的时候使用dialog组件&#xff0c;偶然出现了这种情况 原因&#xff1a; 是因为遮罩层插入进了body标签下&#xff0c;z-index高于当前父元素。 解决&#xff1a;在el-dialog标签里加上:modal-append-to-body"false"就可以了。 饿了么官网文档&a…

熊猫电竞赏金赛系统源码 APP+H5双端源码附搭建教程下载

熊猫电竞赏金系统简介 熊猫电竞赏金电竞系统 赏金赛源码&#xff0c;用户通过平台打比赛&#xff0c;赢了获得奖金奖励&#xff0c; 金币赛、赏金赛、vip赛等种赛事 可开王者荣耀、和平精英比赛 支持1v1、单排、双排组、战队排等多种比赛模式 支持QQ区、微信区 游戏玩的好…

大语言模型(LLM)漏洞爆发,AI模型无一幸免

本文概述了人工智能初创公司Anthropic于2024年04月03日发表的一篇针对人工智能安全的论文&#xff0c;该公司在本论文中宣布的一种新的“越狱”技术&#xff0c;名为Many-shot Jailbreaking&#xff08;多轮越狱&#xff09;。文章详细描述了目前大语言模型&#xff08;LLM&…

iOS 在OC旧项目中使用Swift进行混编

iOS 在OC旧项目中使用Swift进行混编 1、创建桥接文件 ​ 第一次在Swift创建OC文件&#xff0c;或者第一次OC创建Swift时&#xff0c;xcode会提示桥接&#xff0c;Creat Bridging Header即可,这个文件用于Swift调用OC文件&#xff0c;与OC调用Swift无关。 2、在TARGETS中设置D…

深入docker-swarm overlay网络模型

目录 1.简介 2.网络模型 3.docker_gwbridge网络 3.1.docker_gwbridge网关地址 3.2.检查docker_gwbridge网络 3.2.1.查找任务容器eth接口 3.2.2.查找ingress-sbox容器eth接口 4.检查ingress网络 4.1.检查ingress网络 4.2.检查ingress网络的命名空间 4.2.1.查找任务容…