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

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

    假定有如下场景: 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

技术支持群二维码

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

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

相关文章

安全大脑与盲人摸象

21世纪是数字科技和数字经济爆发的时代&#xff0c;互联网正从网状结构向类脑模型进行进化&#xff0c;出现了结构和覆盖范围庞大&#xff0c;能够适应不同技术环境、经济场景&#xff0c;跨地域、跨行业的类脑复杂巨型系统。如腾讯、Facebook等社交网络具备的神经网络特征&…

实验1 eNSP安装与使用

实验1 eNSP安装与使用 一、 原理描述二、 实验目的三、 实验内容四、 实验步骤1.下载并安装eNSP2.eNSP软件界面3.搭建并运行网络拓扑4. Wireshark 捕获分组并分析 一、 原理描述 eNSP&#xff08;Enterprise Network Simulation Platform&#xff09;是由华为提供的免费网络模…

JDK1.8的安装及环境变量的配置

下载路径&#xff1a; Java Downloads | Oracle 选择对应的操作系统进行下载 1&#xff1a;在D盘新建一个名称为Java的文件夹 [如果你下载的不是这个版本的请自行修改文件夹名称&#xff0c;如版本jdk1.8.0则文件夹名为jdk1.8.0] 2:复制红色框中的名称并在刚刚新建Java文件夹…

【攻防世界】wife_wife

原型链污染 源码 app.post(/register, (req, res) > {let user JSON.parse(req.body)if (!user.username || !user.password) {return res.json({ msg: empty username or password, err: true })}if (users.filter(u > u.username user.username).length) {return …

新平台上线需要注意哪些?

最近有很多被黑客攻击的老板问我前期平台上线安全防护方面需要注意哪些&#xff1f;下面就给大家讲一下。1、如果前期不打算上高防产品&#xff0c;数据一定要做好备份&#xff0c;否则一旦数据被篡改或者被加密&#xff0c;恢复都是比较困难的&#xff0c;甚至都没有办法恢复。…

【简单讲解下WebView的使用与后退键处理】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

使用QtChart绘制一个折线图

记录一下&#xff0c;以备以后查阅 效果图&#xff1a; #include "mychart.h" #include <QLineSeries> #include <QChart> #include <QChartView> #include <QBoxLayout> #include <QtMath>QT_CHARTS_USE_NAMESPACE MyChart::MyChart…

嵌入式:第一天(c语言入门)

目录 一、C语言是什么 二、基础语法 2.1 第一个C语言程序 2.2 注释 2.3 数据类型 数据类型介绍&#xff1a; 变量&#xff1a; 变量的语法&#xff1a; 使用特点&#xff1a; 命名规则和规范&#xff1a; 命令规范&#xff1a; char类型&#xff1a; Boolean类型&…

2024-04-08

作业要求&#xff1a; 1> 思维导图 2>使用手动连接&#xff0c;将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在自定义的槽函数中调用关闭函数 将登录按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在槽函数中判断ui界面上输入的账号是否…

vue项目中使用html2canvas 下载当前页面(动态页面宽度、高度)

老规矩先上效果图: 需求1、 只要上图红色区域的内容下载&#xff0c;就需要计算红色区域的内容的动态宽度、高度。 需求2、当前页面可视区域的内容下载&#xff0c;上传按钮下面的所有内容。 一、 安装依赖 &#xff1a;安装html2canvas插件 npm isntall html2canvas 或者…

[渗透利器]在线渗透测试工具箱?测评

前言 hxd更新完了在线工具箱&#xff0c;受邀写一下使用体验以及测评 使用体验 这个工具箱设计的比较轻便&#xff0c;以往用过的工具箱大多都是以离线打包的方式发布&#xff0c;该工具箱&#xff0c;作者自己掏钱自己买服务器&#xff0c;自己买带宽&#xff0c;先生大义。…

[闲聊统计]之参数估计是什么?(下)

我们在前面说了一下参数估计中的点估计&#xff0c;接下来&#xff0c;我们来讲一下区间估计。 区间估计——在点估计的基础上&#xff0c;给出总体参数估计的一个估计区间&#xff0c;该区间由样本统计量加减估计误差而得到。 置信水平——如果将构造置信区间的步骤重复多次&a…

三: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、…

UDS(ISO14229) ———— 0x10(DiagnosticSessionControl)

前言 在UDS协议中,我们首先接触到的是诊断和通信管理功能单元(Diagnostic and communication management functional unit)模块。在这个模块里面,DiagnosticSessionControl是我们第一个需要掌握的内容。 按照ISO 14229上面的划分,我们可以将诊断会话模式分为两大类; 一类…

Pytest精通指南(02)对比Unittest的差异

文章目录 前言用例编写规则不同用例前置与后置条件不同断言功能不同测试报告失败重跑机制参数化用例分类执行Unittest 前后置示例Pytest 前后置示例总结 前言 在Python中&#xff0c;unittest和pytest是两个主流的测试框架&#xff1b; 它们都旨在支持自动化测试、使用断言验证…

通信分类3G,4G,5G,通信专用名词

Generation: 2G: GSM全名为&#xff1a;Global System for Mobile Communications&#xff0c;中文为全球移动通信系统&#xff0c;俗称"全球通"&#xff0c;是一种起源于欧洲的移动通信技术标准&#xff0c;是第二代移动通信技术 3G&#xff1a;WCDMA 4G&#xff1a…

C++奇迹之旅:探索类对象模型内存的存储猜想

文章目录 &#x1f4dd;前言&#x1f320; 类的实例化&#x1f309;类对象模型 &#x1f320; 如何计算类对象的大小&#x1f309;类对象的存储方式猜想&#x1f320;猜想一&#xff1a;对象中包含类的各个成员&#x1f309;猜想二&#xff1a;代码只保存一份&#xff0c;在对象…

特征融合篇 | RTDETR引入基于内容引导的特征融合方法 | IEEE TIP 2024

本改进已集成到 RT-DETR-Magic 框架。 摘要—单幅图像去雾是一个具有挑战性的不适定问题,它从观察到的雾化图像中估计潜在的无雾图像。一些现有的基于深度学习的方法致力于通过增加卷积的深度或宽度来改善模型性能。卷积神经网络(CNN)结构的学习能力仍然未被充分探索。本文提…

Prometheus+grafana监控nacos和spring-boot服务(增加自定义指标)(七)

前面记录了项目中常用的各种中间件的指标采集器的用法及搭建方式 &#xff0c; 由于所有组件写一篇幅过长&#xff0c;所以每个组件分一篇方便查看&#xff0c;前六篇链接如下 Prometheusgrafana环境搭建方法及流程两种方式(docker和源码包)(一)-CSDN博客 Prometheusgrafana…

【3GPP】【核心网】核心网/蜂窝网络重点知识面试题二(超详细)

1. 欢迎大家订阅和关注&#xff0c;3GPP通信协议精讲&#xff08;2G/3G/4G/5G/IMS&#xff09;知识点&#xff0c;专栏会持续更新中.....敬请期待&#xff01; 目录 1. 对于主要的LTE核心网接口&#xff0c;给出运行在该接口上数据的协议栈&#xff0c;并给出协议特征 2. 通常…