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

news2025/9/22 1:54:17

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

    假定有如下场景: 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.coloradmin.cn/o/1583781.html

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

相关文章

Kubernetes中安装部署Nacos集群

目录 1、Nacos安装包的准备 1.1 下载安装包 1.2 解压安装包 1.3 修改配置文件 application.properties 1.4 bin目录下创建 docker-startup.sh 1.5 将nacos-server-1.2.1目录打包成nacos-server-1.2.1.tar.gz 2、 nacos镜像制作 2.1 Dockerfile文件编写 2.2 制作镜像…

单片机入门还能从51开始吗?

选择从51单片机开始入门还是直接学习基于ARM核或RISC核的单片机&#xff0c;取决于学习目标、项目需求以及个人兴趣。每种单片机都有其特定的优势和应用场景&#xff0c;了解它们的特点可以帮助你做出更合适的选择。 首先&#xff0c;我们说一下51单片机的优势&#xff1a; 成熟…

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

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

【石上星光】context,go的上下文存储并发控制之道

目录 1 引言2 What&#xff1f;3 How&#xff1f; 3.1 用法一、上下文数据存储3.2 用法二、并发控制 3.2.1 场景1 主动取消3.2.2 场景2 超时取消 3.3 用法三、创建一个空Context&#xff08;emptyCtx&#xff09; 4 Why&#xff1f; 4.1 go中的上下文思想 4.1.1 上下文是什么…

技术小课堂:100%CC防护是怎么实现的?

大家好&#xff0c;今天我们深入探讨的是如何有效地实现CC攻击的100%防护&#xff0c;以及传统防护手段存在的局限性和我们的定制化解决方案的优势。 传统的CC防护措施通常依赖于全局性的访问频率控制或在防火墙级别设置固定的访问次数限制。这种方式看似简单直接&#xff0c;…

安全大脑与盲人摸象

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

[方案实操|数据技术]数据要素十大创新模式(1):基于区块链的多模态数据交易服务平台

“ 区块链以其公开共享、去中心化、不可篡改、可追溯和不可抵赖等优势&#xff0c;吸引了包括金融业、医疗业和政府部门等众多利益相关方的极大兴趣&#xff0c;被认为是解决数据安全交换问题的合适方案。” 武汉东湖大数据科技股份有限公司凭借基于区块链的多模态数据交易服务…

交换机的基本原理与配置_实验案例一:交换机的初始配置

1、实验环境 实验用具包括一台Cisco交换机&#xff0c;一台PC&#xff0c;一根Console 线缆。 2、需求描述 如图5.17所示&#xff0c;实验案例一的配置需求如下。 通过PC连接并配置一台Cisco交换机。在交换机的各个配置模式之间切换。将交换机主机的名称改为BDON 3、推荐步…

OpenHarmony应用编译 - 如何在源码中编译复杂应用(4.0-Release)

文档环境 开发环境&#xff1a;Windows 11 编译环境&#xff1a;Ubuntu 22.04 开发板型号&#xff1a;DAYU 200&#xff08;RK3568&#xff09; 系统版本&#xff1a;OpenHarmony-4.0-Release 功能简介 在 OpenHarmony 系统中预安装应用的 hap 包会随系统编译打包到镜像中&a…

C语言—每日选择题—Day68

第一题 1、运行以下C语言代码&#xff0c;输出的结果是&#xff08;&#xff09; #include <stdio.h> int main() {char *str[3] {"stra", "strb", "strc"};char *p str[0];int i 0;while(i < 3){printf("%s ",p);i;} retur…

Path Aggregation Network for Instance Segmentation

PANet 摘要1. 引言2.相关工作3.框架 PANet 最初是为 proposal-based 实例分割框架提出来的&#xff0c;mask 是实例的掩码&#xff0c;覆盖了物体包含的所有像素&#xff0c;proposal 在目标检测领域是可能存在目标的区域。在实例分割中&#xff0c;首先利用RPN(Region Proposa…

【并发】第四篇 原子操作系列-AtomicInteger原子操作类详解

导航 一. 简介二. 源码分析三. 原子操作原理三. 实际用途1. 标志位2. 唯一标识生成器3. 计数器一. 简介 AtomicInteger是Java中提供的一种线程安全的原子操作类,用来实现对整数类型的原子操作。它可以在多线程环境下保证对整数的原子性操作,而不需要使用synchronized关键字或…

小样本计数网络FamNet(Learning To Count Everything)

小样本计数网络FamNet(Learning To Count Everything) 大多数计数方法都仅仅针对一类特定的物体&#xff0c;如人群计数、汽车计数、动物计数等。一些方法可以进行多类物体的计数&#xff0c;但是training set中的类别和test set中的类别必须是相同的。 为了增加计数方法的可拓…

CloudCompare——win11配置CloudComPy

CloudComPy配置 1 基本环境介绍2 安装Anaconda2.1 下载anaconda2.2 安装anaconda2.3 配置镜像源2.4 更改虚拟环境的默认创建位置2.5 其他问题2.5.1 激活自己创建的环境提示&#xff1a;系统找不到指定的路径2.5.2 InvalidVersionSpecError: Invalid version spec: 2.72.5.3 卸载…

Hibernate框架的搭建

Hibernate框架的搭建 分层体系结构与持久化 三层体系结构 分层体系结构 指的是将系统的组件分隔到不同的层中&#xff0c;每一层中的组件应保持内聚性&#xff1b; 每一层都应与它下面的各层保持松散耦合。 层与层之间存在自上而下的依赖关系&#xff0c;即上层组件会访问下…

【一学就会】(一)C++编译工具链——基于VSCode的CMake、make与g++简单理解与应用示例

目录 一、CMake、make与g 1、名词辨析 2、孰优孰劣 二、应用示例 1、工具类安装与配置 1&#xff09;VSCode安装与配置 2&#xff09;CMake下载与安装 3&#xff09;MinGW-W64下载与安装 A、科学上网法 B、无需科学上网法 4&#xff09;VSCode推荐插件 A、c/c编译环…

nandgame中的Tokenize(标记化)

题目说明&#xff1a; "Tokenize" "标记化"标记器预先配置为识别数字和符号 。请配置标记器以额外识别符号减号 - 和括号 ( 和 )。您可以编辑源代码区域中的代码以测试它的标记化。level help 我们将构建一种高级编程语言。 高级语言具有更加人性化和灵…

K8s-Ingress Nginx-Day 08

1. 什么是Ingress 官方文档&#xff1a;https://kubernetes.io/zh-cn/docs/concepts/services-networking/ingress/#what-is-ingress Ingress 是 kubernetes API 中的标准资源类型之一&#xff0c;主要是k8s官方在维护。 2. Ingress的作用 Ingress 提供从集群外部到集群内服务…

NAT转换是怎么工作的?

前言 对象: 服务器S&#xff0c;NAT设备&#xff0c;用户设备C1&#xff0c;用户设备C2 用户C1向服务器S发起一个HTTP请求&#xff0c;经过NAT转化&#xff0c;服务器收到并作出响应&#xff0c;用户C1收到响应。 问题来了&#xff0c;NAT是怎么知道这个响应是给用户C1而不是…

配电室实现智能化用电管理平台的搭建构思

&#xff11; 宝安区水务现状 河流基本情况:宝安区共有66条河涌&#xff0c;66条河涌分属茅洲河及珠江口沿海河涌两大水系&#xff0c;总长254km&#xff0c;流域总面积532km2。全区水环境状况有以下几个特点:一是水质污染严重&#xff0c;主要污染物为氨氮、总磷和阴离子表面…