ketlle

oracle到数据仓库inceptor数据同步工具部署

下载安装dbeaver

首先下载连接数据仓库的工具dbeaver,连接数据仓库

之后按照下一步进行连接工具的安装,安装完成之后利用dbeaver工具连接数据仓库,

连接数据仓库

连接过程如下:

切换到位置:C:\Program Files\DBeaver或者在桌面上直接点击dbeaver.exe,打开工具

点文件下面的插头图标:

进入到如下界面

找到自己需要连接的数据库的标识进行连接。我连接星环的数据仓库,需要使用hadoop下面的Apache Hive进行连接,之后点下一步

点击编辑驱动设置,进入如下界面进行设置

点击添加文件,将需要加入的驱动加入到库中,如图所示,驱动如下

添加好之后点确定

最后点测试连接,连接成功即可

连接成功界面如图所示:

创建新的数据库

之后建立新的database,打开sql编辑器,执行如下sql:

Create database LGJG001;

创建新表

创建完成后打开sql编辑器,最上面菜单栏中切换数据库

新创建数据库完成之后创建新表:

创建数据转换

之后打开文档D:\data-integration\data-integration:

点击Spoon.bat

进入之后新建转换:

创建完成之后进行保存到本地

新建数据库连接

之后新建数据库连接向导:

星环数据仓库的连接信息如下:

用户名和密码:admin

填写完成之后测试确认即可,之后新建和oracle数据库的数据连接向导:

用户名:C##123  密码:123456

测试确认

创建成功样式:

之后创建转换的具体表单以及转换数据库

创建数据同步

全量数据传输

在核心对象中找到表输入

表输入的具体内容设置如下:

之后在核心对象中找到输出-表输出:

表输出中的内容设置:

之后保存,运行,如下图:

运行成功:

Oracle数据同步到incepter数仓验证:

同步前:

Incepter中的表scexptor:

进行同步:

同步过程中报错提示如下图:

 cannot recognize input near 'open , high' in column name

解决方案:语法兼容问题,去掉批量插入即可

同步后

增量数据传输:

Inceptor-oracle

Oracle-inceptor

创建数据传输定时任务

工具:crontabkettle

首先安装crontab

安装crond服务和crontab工具(CentOS7)

yum clean all   清理yum缓存

yum update  更新系统安装包到最新版本

yum install -y cronie crontabs  安装crond服务和crontab工具到centos中

验证crond 服务

验证crond服务和crontab工具(CentOS7)

检查crond服务是否安装及启动:yum list cronie&&systemctl status crond

检查crontab工具是否安装:yum list crontabs&&which crontab&&crontab -l

验证crond服务

验证crontab工具

cronrab工具使用方法以及配置:CRONTAB - 简书

LINUX系统环境变量设置

vi /etc/profile

在文件最底部添加

PATH=$PATH:/usr/local/jdk1.8.0_111/bin

export PATH

用户级别环境变量设置

vi /root/.bash_profile

如果原来有PATH=$PATH:$HOME/bin

在后面追加

PATH=$PATH:$HOME/bin:/usr/local/jdk1.8.0_111/bin

export PATH

在配置系统与用户级别环境变量后编写shell脚本与环境变量配合完成crontb表单任务的执行操作。

vi /root/test.sh

java -version 2>/root/script.out

crontab  -e   添加crontab计划任务

* * * * *   source /etc/profile;sh  /root/test.sh

* * * * *    source /root/.bash_profile;sh /root/rest.sh

systemctl  restart crond 重启计划任务,使任务生效

执行文件的位置:https://www.cnblogs.com/qzqdy/p/8268389.html

kettl中定时任务的安装和配置

安装kettle所需的驱动以及依赖

Oracle对应的驱动:

位置:oracle对应的服务器上

/u01/app/oracle/product/19.3.0/dbhome_1/jdbc/lib/

将这些驱动复制到kettle的安装包lib下,如图:

Incepter的驱动:

放在kettle的安装包下的lib下,如上图

Kettle的安装

在linux中的安装

首先下载版本是 : pdi-ce-8.2.0.0-342

网址如下:

源代码下载地址

https://github.com/pentaho/pentaho-kettle/

官网下载地址:

https://nchc.dl.sourceforge.net/project/pentaho/Pentaho 8.2/client-tools/pdi-ce-8.2.0.0-342.zip

百度网盘下载地址:百度网盘 请输入提取码

提取码:lfwh

安装前先查看是否已经安装jdk
查看版本:java -version

首先创建对应的目录:

[root@node-1 ~]#  mkdir /root/software/kettle

之后用xftp上传,之后解压:

[root@node-1 kettle]# unzip pdi-ce-9.1.0.0-324.zip

解压成功之后在命令中输入./pan.sh 测试是否安装完成:

root@node-1 data-integration]# ./pan.sh

如下图则为安装成功了

之后将对应数据库的驱动放在/root/software/kettle/data-integration/lib/如下图:

之后测试转换任务是否能够正常运行:

[root@node-1 data-integration]# ./pan -file=/root/software/kettle/data-integration/file/oracle-in                               cepter.ktr -norep

如下图则为正常:

设置定时任务

在本地设置转换完成之后抽取数据是否成功,成功后将保存的转换和作业放在linux服务器上

之后执行:

[root@node-1 data-integration]# ./pan -file=/root/software/kettle/data-integration/file/oracle-in                               cepter.ktr -norep

设置sh的脚本

sh 的位置:vim /root/software/kettle/data-integration/oracle-incepter.sh

内容如下

#!/bin/bash

cd /root/software/kettle/data-integration;

./pan.sh -file=/root/software/kettle/data-integration/file/oracle-incepter.ktr -norep >> /root/software/kettle/data-integration/log.log

设置crontab定时任务

Crontab -e

内容:

00 02 * * *  sh /root/software/kettle/data-integration/oracle-incepter.sh

测试定时任务

完成之后进行定时任务的测试

执行成功的日志如下:

问题整理

问题:跑定时任务的时候提示

解决方案:

报错 :no libwebkitgtk-1.0 detected, some features will be unavailable Consider installing the pack_lbl251的博客-CSDN博客

Sudo wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/matthewdva:/build:/EPEL:/el7/RHEL_7/x86_64/webkitgtk-2.4.9-1.el7.x86_64.rpm

sudo yum install webkitgtk-2.4.9-1.el7.x86_64.rpm

执行sudo yum install webkitgtk-2.4.9-1.el7.x86_64.rpm提示:

通过手工下载之后执行:

http://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/matthewdva:/build:/EPEL:/el7/RHEL_7/x86_64/webkitgtk-2.4.9-1.el7.x86_64.rpm

如果下载之后还是报错。那就是文件在下载的时候损坏了,重新下载即可

下载lib64webkitgtk1

rpm -i  lib64webkitgtk1.0_0-2.4.11-8-omv4002.x86_64.rpm

下载rpm

利用wget下载东西时,比如输入指令wget www.baidu.com

提示报错

“wget: unable to resolve host address …”

wget:无法解析主机地址。这就能看出是DNS解析的问题

解决办法:修改/etc/resolv.conf文件,添加nameserver即可,下面给出两个通用的谷歌域名服务器,如果有自己解析服务器也可以换成自己的

vim /etc/resolv.conf

nameserver 8.8.8.8 #google域名服务器

nameserver 8.8.4.4 #google域名服务器

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值