EtlCloud安装部署及简单应用

news2024/9/29 11:22:13

背景

最近碰到了一个数据同步的业务场景,客户要求生产环境的某些特定数据定时同步到指定的数据池中,并对数据池中的表名称有特殊要求,必须以t_xxxx_tablename的格式命名,其中xxxx为单位编号,tablename可以是应用中的表名称(也就是说在从正式环境同步到数据池后表名称需要加个前缀)。数据不需要实时同步,定时同步即可。

能想到的方案之一是编码实现:针对需要同步的表,编写代码从原数据源获取数据,写入到目标数据源的指定表中,目标数据源的表名称当然可以根据用户需求随意指定。

但是毕竟需要编码,即使需要同步的表不多,也还是有工作量的,而且编码的时候需要控制原数据的增删改,比较繁琐。所以编码实现一定不是最佳方案。

方案二是ETL工具,ETL工具天然就是为解决这类需求而生的,虽然从来没用过任何一款ETL工具,但是感觉学习成本应该不会太大。

ETL工具选择

百度了下,选择了Etlcloud,应该是谷云科技(广州)有限责任公司旗下的产品,号称社区版终生免费,找到了他的官网,文档也比较完善,安装部署文档写的很详细:

https://www.etlcloud.cn/restcloud/view/page/helpDocument.html?id=64671836bd12a45a27ada704

下载部署

etlcloud官网提供了社区版的免费下载:
在这里插入图片描述
不过虽然是免费的,但还是要求登录后才能下载,而且安装部署启动之后,要求必须有SN(需要在官网生成)才能使用,有短期临时SN(6个月有效期)和长期有效SN的区别,长期有效的SN要求用户注册3个月以上才能申请。

安装过程其实比较简单,但是需要注意以下几点:

  1. 对JDK版本应该是有要求的,最开始我用了JDK17,系统启动、用户登录都没有问题,但是SN录入之后提交不了,后台报错,搞得我差一点就要放弃了,最后想着换一下JDK试试,换成JDK8就OK了。
  2. 按照安装文档的要求,安装了mongodb4.2,etlcloud的安装文档很贴心的提供了mongoDB的安装教程,但是确实,mongodb也是我首次安装使用,也碰到了一点小小的问题。
  3. etlcloud主应用其实是tomcat应用,很简单,几乎不需要修改啥,按照安装文档操作就可以了,注意需要指定环境变量JAVA_HOME。以及,如果安装mongodb后设置的用户名、密码和官网举例的不一样的话,需要修改一下tomcat的配置文件,匹配mongodb的用户名密码就可以了。

在这里插入图片描述

mongodb的安装配置

其实mongodb的安装配置也很简单,按照官网的安装说明操作就可以:

https://etlcloud.cn/restcloud/view/page/helpDocument.html?id=6563ef397f90446d6352d072&type=8

不过需要说明一下的是,安装文档的 1.6 配置并安装 Mongodb 服务 部分,4.2版本的mongodb不需要自己再创建配置文件,bin目录下就有一个:
在这里插入图片描述
打开该文件修改一下对应的数据库文件存储路径就可以:

# Where and how to store data.
storage:
  dbPath: D:\MongoDB\Server\4.2\data
  journal:
    enabled: true

然后在注册为服务的时候指定该配置文件即可:

D:\mongodb\bin\mongod.exe --config "D:\MongoDB\Server\4.2\bin\mongod.cfg" --install

install之后打开windows任务管理器看一下,有启动的mongodb服务就表明安装成功了。

之后根据安装文档的说明创建mongodb用户,也就是安装文档的2.2.4部分(放在了linux安装部署mongodb部分,但是windows下安装也是需要执行的),通过mongodb的shell脚本客户端mongo.exe完成。

安装文档 《1.7 进入MongoDB 后台管理 Shell界面》 调出shell界面之后,执行 《2.2.4 创建Mongo用户》,db.createUser脚本敲进去之后需要双击回车键执行脚本(我是mongodb小白,折腾了好一会儿才发现)。

启动应用

完成JDK的安装以及JAVA_HOME环境配置,以及完成mongodb的安装之后,启动eltcloud的tomcat服务反而很简单,按照安装手册的说明操作就可以。

etlcloud服务默认是在8080端口,访问服务:

在这里插入图片描述

用户名admin,默认密码是pass,登录之后就要求输入SN,从官网获取SN输入之后,就可以正常使用了。
在这里插入图片描述

配置数据源

开工第一步就是配置数据源,首页 数据源管理,添加两个数据源:
在这里插入图片描述
一个source,一个desination,数据源的设置非常简单,指定ip:port以及用户名密码就OK,设置完之后先做一下链接测试,没问题之后,保存数据源。

创建同步流程

其实同步流程的配置也很简单,第一个测试:只同步一张表的数据。

我们尝试从源数据库中同步sys_user表的数据到目标数据库中,目标数据库中可以不建表,让etlcloud在同步的过程中自动创建。

系统首页选“离线数据集成”,离线数据集成是针对实时数据集成而言的,比如我们每天晚上2点同步一次数据,就可以通过离线数据集成实现。

第一步创建应用,很简单。

创建应用之后,点击该应用进入应用详情页面:
在这里插入图片描述
点击左侧数据集成流程 - 所有数据流程,之后新增流程:
在这里插入图片描述
注意:使用定时自动调度的话,需要选择调度策略,系统提供了几个简单的调度策略,如果不能满足的话,可以通过首页平台配置 - 定时任务设置 - 定时策略管理 新增调度策略(通过cron表达式)。

我配置的是每10分钟跑一次,你当然可以配置每天凌晨2点跑一次,cron表达式还是很强大的。

流程设计

新增流程之后,通过流程设计功能进行具体的ETL配置:
在这里插入图片描述
第一步:先从左侧菜单拖入一个库表输入组件,一个库表输出组件,并选中上方的 流程线,将流程图按上图所示连接好。

第二步:配置库表输入节点,其实配置很简单,按照操作提示一步步配置即可:
在这里插入图片描述
第三部:配置库表输出节点,指定目标表的名称:
在这里插入图片描述
注意目标表的结构也不需要自己创建,可以选择从其他节点导入,选择第一步的库表输入节点,选择原表的结构导入即可,注意原表最好有主键字段,目标表中将该主键设置为目标表的关键字段,猜测该关键字段是数据迁移过程中新增、删除字段的依据
在这里插入图片描述
配置完成之后,保存流程即可。

跑流程、测试

流程配置完成之后,在流程首页立即调度该流程:
在这里插入图片描述
之后可以在任务监控中跟踪任务调度情况:
在这里插入图片描述
流程执行成功之后,到目标表中查看数据同步情况:

  1. 全量数据:首次同步之后,发现原表中的所有数据都已经同步到目标表中。
  2. 新增数据:在原表中新增一条数据,目标表能正确同步。
  3. 修改数据:修改原表中的一条数据,目标表能正确同步。
  4. 删除数据:删除一条数据,目标表能正确同步。

OK!单表数据传输可以用etlcloud轻松实现,其实etlcloud功能非常强大,文档相对来说也很健全,非常适合初学者上手。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

k8s资源管理之声明式管理方式

1 声明式管理方式 1.1 声明式管理方式支持的格式 JSON 格式:主要用于 api 接口之间消息的传递 YAML 格式:用于配置和管理,YAML 是一种简洁的非标记性语言,内容格式人性化,较易读 1.2 YAML 语法格式: ●…

Java网络通信UDP

目录 网络通信基础 UDP通信 服务器 1.想要使用UDP通信 要先打开DatagramSocket文件 端口号可以手动指定或系统随机分配 2.阻塞等待接收客户端数据;创建DatagramPacket接收客户端传来的数据 3.处理客户端传来的数据,并进行业务处理(这里…

雷电将军部分技能AOE范围测试

简单说一下,以往的AOE范围数据大部分来自Dim提供的拆包文件或泄露的GM端控制台显示的距离数据,如《AOE范围学》中的数据,然而米哈游自1.6版本及以后未再公开泄露过GM端,因为一些原因Dim也没再更新拆包文件中角色技能参数相关的部分…

二路归并排序的算法设计和复杂度分析and周记

数据结构实验报告 实验目的: 通过本次实验,了解算法复杂度的分析方法,掌握递归算法时间复杂度的递推计算过程。 实验内容: 二路归并排序的算法设计和复杂度分析 实验过程: 1.算法设计 第一步,首先要将数组进行…

Vue3快速上手(十五)Vue3路由器使用和简单路由切换

一、路由的概念 1.1 路由及路由器 路由器:通常指的是我们家里上网用的路由器,通过网络接口,一根网线,链接至电脑,一般我们的电脑就可以上网了,多个网络接口,链接多个电脑,形成一组…

图神经网络实战——图论基础

图神经网络实战——图论基础 0. 前言1. 图属性1.1 有向图和无向图1.2 加权图和非加权图1.3 连通图和非连通图1.4 其它图类型 2. 图概念2.1 基本对象2.2 图的度量指标2.2 邻接矩阵表示法 3. 图算法3.1 广度优先搜索3.2 深度优先搜索 小结系列链接 0. 前言 图论 (Graph theory) …

springboot-基础-eclipse集成mybatis+使用方法+排错

备份笔记。所有代码都是2019年测试通过的,如有问题请自行搜索解决! 目录 集成mybatis安装mybatis的jar包安装插件:mybatis-generator安装方法生成方法报错:java.lang.RuntimeException: Exception getting JDBC Driver mybatis注解…

深入了解Kafka的文件存储原理

Kafka简介 Kafka最初由Linkedin公司开发的分布式、分区的、多副本的、多订阅者的消息系统。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。kafka对消息保存是根据Topic进行归类,发送消息者称为Producer&…

【鸿蒙开发】第十五章 ArkTS基础类库-并发

1 简述 并发是指在同一时间段内,能够处理多个任务的能力。为了提升应用的响应速度与帧率,以及防止耗时任务对主线程的干扰,OpenHarmony系统提供了异步并发和多线程并发两种处理策略,ArkTS支持异步并发和多线程并发。并发能力在多…

部署bpmn项目实现activiti流程图的在线绘制

本教程基于centos7.6环境中完成 github开源项目: https://github.com/Yiuman/bpmn-vue-activiti软件:git、docker 1. 下载源代码 git clone https://github.com/Yiuman/bpmn-vue-activiti.git2. 修改Dockerfile文件 声明基础镜像,将项目打包&#xff…

LeetCode---386周赛

题目列表 3046. 分割数组 3047. 求交集区域内的最大正方形面积 3048. 标记所有下标的最早秒数 I 3049. 标记所有下标的最早秒数 II 一、分割数组 这题简单的思维题,要想将数组分为两个数组,且分出的两个数组中数字不会重复,很显然一个数…

AI又进化了

B站:啥都会一点的研究生公众号:啥都会一点的研究生 一直想做但没做的板块,整理一段时间内AI领域的前沿动态(符合大多粉丝研究领域/感兴趣方向),了解了解外面世界发展成啥样了,一起看看吧~ 谷歌…

网关kong记录接口处理请求和响应插件 tcp-log-with-body的安装

tcp-log-with-body 介绍 Kong的tcp-log-with-body插件是一个高效的工具,它能够转发Kong处理的请求和响应。这个插件非常适用于需要详细记录API请求和响应信息的情景,尤其是在调试和排查问题时。 软件环境说明 kong version 2.1.4 - 2.8.3 [可用亲测]C…

8、Redis-Jedis、Lettuce和一个Demo

目录 一、Jedis 二、Lettuce 三、一个Demo Java集成Redis主要有3个方案:Jedis、Lettuce和Redisson。 其中,Jedis、Lettuce侧重于单例Redis,而Redisson侧重于分布式服务。 项目资源在文末 一、Jedis 1、创建SpringBoot项目 2、引入依赖 …

【PDF技巧】网上下载的pdf文件怎么才能编辑

不知道大家有没有遇到过网上下载的PDF文件不能编辑的情况,今天我们来详细了解一下导致无法编辑的原因即解决方法有哪些。 第一种原因:PDF文件中的内容是否是图片,如果确认是图片文件,那么我们想要编辑,就可以先使用PD…

《Improving Calibration for Long-Tailed Recognition》阅读笔记

论文标题 《Improving Calibration for Long-Tailed Recognition》 改进长尾识别的校准工作 作者 Zhisheng Zhong、 Jiequan Cui、Shu Liu 和 Jiaya Jia 香港中文大学和 SmartMore 初读 摘要 深度神经网络在训练数据集类别极度不平衡时可能会表现不佳。最近&#xff0c…

高中数学:函数的单调性

一、概念 二、单调区间的表示方法 注意 1、两个不相连的部分,单调性相同,则两个单调区间用逗号隔开,不能用∪号连接。 2、单调区间端点都用开区间表示,最安全。 三、常见题型 1、普通简单函数单调性判断 解题思路:画…

VueCli的安装与卸载

文章目录 一.Node安装包的报读网盘提取码二、Vue脚手架Cli三、Vue-CLI使用步骤(自定义安装)1.转换路径并创建项目2.创建步骤的解释(保姆级)3.等待vue项目自己创建好(保姆级) 四、通过npm对vue的安装与卸载 一.Node安装包的报读网盘提取码 下面的链接为地址: Node的百度网盘提取…

【操作系统(Operator System)】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、概念 二、结构示意图 三、尝试理解操作系统 系统调用和库函数概念 承上启下 总结 前言 世上有两种耀眼的光芒,一种是正在升起的太阳&#xff…

每日下载超1000万次,这个前端工具太有用了!

今天来分享一个前端必备的工具,其每天在 npm 上的下载量高达 1000 万次,几乎每个前端项目都在用,它就是 PostCSS。这款工具已经成为前端开发领域中不可或缺的一部分,之所以如此受欢迎,不仅是因为它能够帮助开发者自动化…