国产低代码工具,轻松搞定数据迁移

    在日常的业务系统升级或者数据维护过程中,数据迁移是各个企业用户不得不面临的问题,尤其是数据迁移过程中要保障数据完整性、统一性和及时性,同时也需要注意源数据中的数据质量问题,比如缺失、无效、错误等问题,需要在迁移中尽可能的进行优化,以提高数据迁移后的数据质量。

    假定有如下场景: SQLServer中有一些汽车类数据,需要将该数据迁移到mysql数据库,并且在数据迁移过程中做一些数据治理,以达到符合新数据库对外提供支持要求,比如数据补齐、数据修复、数据替换等。

今天将通过HuggingFists系统演示如何从sqlserver数据库将数据迁移到mysql数据库,同时在迁移过程中对数据进行治理,提升数据治理。相关演示过程我们已经录制了操作视频,可访问如下:

微信视频号:《国产低代码工具,轻松搞定数据迁移》

BiliBili:《国产免费低代码工具,轻松搞定数据迁移》

        在迁移之前,需要做一些准备工作,也就是将待迁移的SQLServer数据库和目标数据库MySQL数据库先通过数据库连接器连接到HuggingFists中。

        这里通过配置数据库的一些基本信息就可以完成数据库的添加,并且浏览数据库中的数据表。

        下面就通过HuggingFists平台来实现该场景任务,整个过程大概分为创建流程、数据清洗、数据补齐、数据转换、数据补充、数据迁移等过程。

【创建流程】

        查看下已经准备好的汽车类数据,通过sqlserver连接器将数据接入到平台进行展示,如下图:

        这些数据中存在着一些问题,包括车辆号码为空、车架号数据格式不一、中英文混搭等问题,在数据迁移之前,需要将上述问题同步处理。

创建一个数据迁移流程,命名为<car_info数据迁移>

        进入流程编辑页面,在左侧可以看到当前支持的算子列表,选择“输入”->“数据库”中的“SQLServer读取”算子,并配置数据库源。

        点击浏览,查看通过数据连接器已经配置的sqlserver服务。

然后点击sql编辑器,进入数据表的选择,如下图:

        点击确定后,自动生成相应的sql语句,这里就完成了数据源的数据选择。

【数据清洗】挑选出异常数据,如车辆号码为空的数据。

        对于数据表中的异常数据,可以通过“控制”->“条件分支”的“if条件控制“来筛选,这里可以设定“条件名称=err”、“过滤条件=车辆号码is null”等配置,如下图:

        这时可以通过将结果输出来指定文件,如:将结果写出到csv文件,如下:

        这里就完成了数据的初步清洗,清洗出车辆号码为空的异常数据,当然也可以根据不同的目标,设置不同的数据清洗条件。

【数据补齐】

        接下来实现数据补齐,将车架号为8位的数据补齐到10位。首先,在“处理”->“转换”中找到“基于条件的值设置“,拖入流程编排页面,并且选择待选值列,设置表达式将8位{车架号.length()=8}补齐到10位{strFormat(‘%sxx‘,车架号)}。

Tips:可以讲结果连接到快速输出端口,查看数据的预期输出结果。

        通过上述算子完成数据的补充,同时也可以在系统中选择不同的算子完成不同的数据调整

【数据转换】修改颜色列的英文数据转换为中文。

        对于颜色列字段的数据,将“颜色”转换为中文,这里需要做一个字典算子“交互式数据输入”,包含了英文和中文的对照关系,在字典中,设置两个列,分别为英文列和中文列。

        然后找到“字典映射”算子,拖入流程编排页面,将“基于条件的值设置”算子的输出端口连接到其中一个输入端口,“交互式数据输入”算子的输出端口连接到另外一个输入端口。

        配置“字典映射”算子,选择待映射列的字段信息为“颜色”,字典列里面的原值为en,映射值为zh。

保存,并运行快速输出,查看如下结果。

        同样,这里可以通过字典的配置,也可以实现数据脱敏、数据修改等操作。

【数据补充】将原始数据增加一个字段,

        返回到流程编辑页面,从算子库中选择“处理”->“集合处理”->“结构化”中的“列添加”算子,拖入编排页面,如下图:

        连接“字符映射”的输出端口到“列添加”的输入端口,并且配置新增加的列名=“车辆用途”,并赋值“公用”。

执行下运行结果,

除了数据补充外,也可以进行数据的删除,包括各种行列操作。

【数据迁移】迁移到mysql数据库。

        同样,返回到流程编辑页面,从算子库中选择“输出”->“数据库”中的“MySQL写出”算子,拖入编排页面,如下图:

        在算子的配置页面,点击浏览,查看系统已经连接的MySQL数据库,选择已经预建好的数据库“cyber_new”,点击确定。

        在表名字的配置中选择数据表“car_info”,系统会自动进行数据字段的映射,如下,如下图:

        这里呢,需要做一个修改,调整颜色字段,引用新添加的颜色字段,将刚才新调整的字段颜色用“颜色_dictMapper”字段。

        然后运行查看快速输出结果,已经输出了调整的数据内容。

        最后,确认下数据迁移的结果,可以通过可视化查看两个数据表中的数据,如下图:

        从上述两个表中可以看到,已经完成从SqlServer数据库中的迁移到MySQL数据库中。最后,进入MySQL数据库中查看下已经写入的数据,

        至此,完成不仅完成了跨数据库之间的数据迁移,同时,在迁移的过程中完成了数据补充、数据转换、数据增加等操作,在数据迁移过程对数据处理提供了更多的可调整性。

【总结】

        上述过程演示了结构化数据库之间的数据迁移,除了上述两个数据库外,还支持Oracle、PostgreSQL、DB2、MongoDB、MariaDB、Redis、Sybase、Couchbase、Neo4j、Hbase、达梦8等数据库间的迁移,同时也支持非结构化数据的迁移、文件数据的迁移等。

        在数字化过程中,数据迁移必不可免,但迁移的工作又会面临诸如以下痛点:

数据格式不兼容:不同系统或数据库之间采用不同的数据格式或数据结构,导致数据迁移时需要进行格式转换,容易引发数据丢失或数据损坏的问题。

数据质量问题:在数据迁移过程中,暴露出数据质量问题,例如重复数据、缺失数据、不一致数据等。

迁移工具限制:一些数据迁移工具可能存在功能限制或不支持特定数据源或目标数据库,导致无法完全满足迁移需求。

迁移成本高昂:数据迁移可能需要投入大量的人力、时间和资源,尤其是在大规模数据迁移的情况下,成本可能会很高。

        HuggingFists作为低代码AI应用工具,也可以提供面向包括数据迁移、数据治理等方面的能力,为后续的AI应用提供数据质量保障。

HuggingFists的下载地址如下:

【Linux版】
微云:https://share.weiyun.com/mmmowpEX
Github:https://github.com/Datayoo/HuggingFists
百度网盘:https://pan.baidu.com/s/1zV_ScCtLgFQSYEb0wLmXIQ?pwd=2024 

【windows版】
微云:https://share.weiyun.com/2eDVeN8Q
Github: https://github.com/Datayoo/HuggingFists4Win/tree/main
百度网盘:https://pan.baidu.com/s/1JXgd5bEfSX8RsDb0WTocdw?pwd=2024

技术支持群二维码

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

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

相关文章

前端面试算法题1

1.已知&#xff1a; • 布局分为&#xff1a;父元素A和N个子元素B&#xff1b; • A宽度不固定&#xff1a;最小宽度为1000px&#xff0c;内部边距是32px • B的宽度不固定&#xff1a;相邻两个B元素的间距是16px&#xff0c;所有B的宽度相同&#xff0c;边框为1像素&#x…

【JAVA语言-第19话】多线程详细解析(一)

目录 多线程 1.1 并发和并行 1.2 线程和进程 1.2.1 进程 1.2.2 线程 1.3 单线程 1.3.1 单线程案例 1.4 创建多线程的方式 1.4.1 继承Thread类 1.4.2 实现Runnable接口 1.4.3 使用匿名内部类 1.5 Thread类 1.5.1 构造方法 1.5.2 常用方法 1.5.3 Thread类中…

《QT实用小工具·二十四》各种数学和数据的坐标演示图

1、概述 源码放在文章末尾 该项目实现了各种数学和数据的坐标演示图&#xff0c;下面是demo演示&#xff1a; 项目部分代码如下&#xff1a; #ifndef FRMMAIN_H #define FRMMAIN_H#include <QWidget> class QAbstractButton;namespace Ui { class frmMain; }class fr…

吴恩达机器学习-异常检测(Anomaly Detection)

在本练习中&#xff0c;您将实现异常检测算法&#xff0c;并将其应用于检测网络上出现故障的服务器。 文章目录 1-包2-异常检测2.1问题陈述2.2数据集2.3高斯分布2.2.1高斯实现的估计参数&#xff1a;2.2.2选择阈值&#x1d716; 2.4高维数据集 1-包 首先&#xff0c;让我们运…

基于FPGA的以太网相关文章导航

首先需要了解以太网的一些接口协议标准&#xff0c;常见的MII、GMII、RGMII时序&#xff0c;便于后续开发。 【必读】从MII到RGMII&#xff0c;一文了解以太网PHY芯片不同传输接口信号时序&#xff01; 介绍一款比较老的以太网PHY芯片88E1518&#xff0c;具有RGMII接口&#xf…

代码随想录阅读笔记-二叉树【总结】

二叉树的理论基础 代码随想录 (programmercarl.com)&#xff1a;二叉树的种类、存储方式、遍历方式、定义方式 二叉树的遍历方式 深度优先遍历 代码随想录阅读笔记-二叉树【递归遍历】-CSDN博客&#xff1a;递归三部曲初次亮相代码随想录阅读笔记-二叉树【迭代遍历】-CSDN博…

thinkphp6入门(22)-- 如何下载文件

假设在public/uploads文件夹下有一个文件test.xlsx 在前端页面添加下载链接&#xff0c;用户点击该链接即可下载对应的文件。 <a href"xxxxxxx/downloadFile">下载文件</a> 2. 在后端控制器方法中&#xff0c;我们需要获取要下载的文件路径&#xff0…

java+saas模式医院云HIS系统源码Java+Spring+MySQL + MyCat融合BS版电子病历系统,支持电子病历四级

javasaas模式医院云HIS系统源码JavaSpringMySQL MyCat融合BS版电子病历系统&#xff0c;支持电子病历四级 云HIS系统是一款满足基层医院各类业务需要的健康云产品。该产品能帮助基层医院完成日常各类业务&#xff0c;提供病患预约挂号支持、病患问诊、电子病历、开药发药、会员…

C语言—用EaxyX绘制实时钟表

代码效果如图 #undef UNICODE #undef _UNICODE #include<graphics.h> #include<conio.h> #include<math.h>#define width 640 #define high 480 #define PI 3.14159int main() {initgraph(width, high);int center_x, center_y;center_x width / 2;center_y…

基于 SMM 汽车交易系统(源码+配套文档)

摘要 电子商务的兴起不仅仅是带来了更多的就业行业。同样也给我们的生活带来了丰富多彩的变化。多姿多彩的世界带来了美好的生活&#xff0c;行业的发展也是形形色色的离不开技术的发展。作为时代进步的发展方面&#xff0c;信息技术至始至终都是成就行业发展的重要秘密。不论…

nginx学习记录-负载均衡策略

1. 负载均衡基本策略配置 1.1 weight&#xff08;权重&#xff09;配置 weight表示当前服务器承载的业务比例。假设现在有两台服务器A和B组成集群&#xff0c;但是A和B的配置不一样&#xff0c;A的性能更好些&#xff0c;那么此时我们希望服务器A能承载更多的业务&#xff0c…

【Ubuntu】update-alternatives 命令详解

1、查看所有候选项 ​​​​​​​sudo update-alternatives --list java 2、​​​​​​​更换候选项 sudo update-alternatives --config java 3、自动选择优先级最高的作为默认项 sudo update-alternatives --auto java 4、删除候选项 sudo update-alternatives --rem…

halcon缺陷检测-印刷品检测(差异化模型),键盘字符缺陷检测

前言 在实际项目中&#xff0c;印刷品缺陷检测是缺陷检测中的难点项目。通常印刷品检测往往具备缺陷小&#xff0c;缺陷所在位置不固定&#xff0c;出现少印或者多印的情况。并且由于产线原因&#xff0c;大量的印刷品在视野中的大小并不是完全一致的&#xff0c;可能出现细微…

java-数组转换为List集合

方法一&#xff1a;使用 Arrays.asList() 方法 Arrays.asList() 方法可以将数组转换为一个固定大小的List。 import java.util.Arrays; import java.util.List; import java.util.ArrayList; public class ArrayToListExample { public static void main(String[] args…

易绘创云打印怎么样?易绘创云打印好用吗?

随着云技术的发展&#xff0c;云打印等概念也逐渐火热了起来。作为当下云打印服务行业中的佼佼者&#xff0c;易绘创云打印服务页一直被众多用户讨论着。那么易绘创云打印怎么样&#xff1f;易绘创云打印好用吗&#xff1f;今天小易就带大家来介绍一下。 易绘创云打印怎么样&am…

C语言面试题之合法二叉搜索树

合法二叉搜索树 实例要求 实现一个函数&#xff0c;检查一棵二叉树是否为二叉搜索树&#xff1b; 示例 1: 输入:2/ \1 3 输出: true 示例 2: 输入:5/ \1 4/ \3 6 输出: false 解释: 输入为: [5,1,4,null,null,3,6]。根节点的值为 5 &#xff0c;但是其右子节点值为 4 …

Vuex(vue 项目中实现 频繁、大范围数据共享的技术方案)

参考文档(点击查看) 好处 1.数据的存取一步到位&#xff0c;不需层层传递 2.数据的流动非常清晰 3.存储在Vuex中的数据都是响应式的&#xff08;数据更新后&#xff0c;使用数据的组件都会自动更新&#xff09; Vuex基础配置 npm i vuex3.6.2state中用来存储数据&#xff0c…

三:synchronized 关键字

目录 1、共享带来的问题2、synchronized 用法3、类加载器对 Class 锁的影响4、synchronized 实现原理4.1、同步方法、同步代码块4.2、对象内存布局4.3、Monitor 对象定义 5、synchronized 与原子性6、synchronized 与可见性7、synchronized 与有序性8、synchronized 锁升级8.1、…

外包干了15天,技术倒退明显

先说情况&#xff0c;大专毕业&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近6年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落&#xff01; 而我已经在一个企业干了四年的功能…

第十四届蓝桥杯大赛软件赛省赛C/C++大学 B 组

第十四届蓝桥杯大赛软件赛省赛C/C大学 B 组 文章目录 第十四届蓝桥杯大赛软件赛省赛C/C大学 B 组1、日期统计2、01串的熵3、冶炼金属4、飞机降落5、接龙数列6、岛屿个数7、子串简写8、整数删除9、景区导游10、砍树 1、日期统计 分析&#xff1a; 本题的意思就是2023年一整年&a…