技术分享外部文件同步到数据,都有哪些便捷的技术实现方式?老码告诉你

【技术分享】外部文件同步到数据 , 都有哪些便捷的技术实现方式?老码告诉你 。
1. 定时Python小程序
工作内容:
采用Python脚本编程,设置系统定时任务,每1小时(用户可指定,修改)执行一次 。
脚本逻辑
a) 读取指定 FTP 服务器的 Excel 文件,并结构化至内存中 。(ftp 文件名称或命名规则 需约定) 。
b) 读取DB 指定数据源,并结构化至内存中 。
c) 将 a、b 两个内存数据进行差异化比对,分别有三种情况:一是需新增数据,二是需修改数据 ,三是需删除数据 。
d) 将比对出的差异化结果,按实际要求执行 新增、修改、删除 SQL 语句,更新至 业务数据库 。
优势
开发周期短、平、快 。根据文件所在FTP位置,读取内存与DB数据对比差异,再更新(新增、修改或删除)差异数据 。
借助系统(Linux/Win均可)定时功能 , 设定脚本执行周期 。
问题
定制化程度高,不支持外部数据格式发生异动 。
多FTP/文件,支持开发工作较大 。
异常情况、处理过程 , 人工难介入 。
大数据量同步,对内存有一定要求 。
2. KettleDataX 平台调度
工作内容:
使用Kettle工具,离线编写(拖拽)同步执行逻辑 , 配置到DataX平台,设置定时任务,如每1小时执行一次 。
Kettle处理逻辑
a) 数据输入 , FTP连接,读取Excel 表数据;
b) 表输入,获取业务数据库指定业务表数据;
c) 记录集连接;
d)将 b 处理数据集中包含,但 a 数据集不包含的结果记录过滤出 , 执行 删除;
e) 将 a 数据集包含,但b数据集不包含的结果记录过滤出,执行 插入/更新 。
优势
开发周期短、平、快 。由Kettle进行配置读?。?对比DB数据差异,再更新(处理逻辑大致一致) 。
支持扩展,多FTP/多文件 。
支持大数据量同步 。
异常情况、处理过程 , 人工可查看和介入(方便配置定时任务、启动、停止及操作日志) 。
问题
不支持外部数据格式发生异动 。
3. JavaXXL-Job 调度
工作内容:
使用 Java 开发,编码,交由 xxl-job 做任务调度,支持web端设置定时任务规则,启动、停止和人工执行同步任务 。
Java 处理逻辑,与Python小程序处理逻辑一致 。
优势
自定义开发,FTP读取文件,对比DB数据查询,再更新 。
支持扩展,支持多FTP/多文件 。
异常情况、处理过程,人工可查看和介入(方便配置定时任务、启动、停止及操作日志) 。
部署和使用均方便 。
问题
不支持外部数据格式发生异动 。
4. 数据平台
工作内容:
平台配置化web页面,分别配置 Ftp连接源及业务数据库数据源,设置同步规则即可 。
优势
自定义大多数异构数据源 。
支持用户在线配置同步节点 。
异常情况、处理过程,人工可查看和介入 。
各类数据功能齐全 。
问题
费用高
【技术分享外部文件同步到数据,都有哪些便捷的技术实现方式?老码告诉你】

技术分享外部文件同步到数据,都有哪些便捷的技术实现方式?老码告诉你

技术分享外部文件同步到数据,都有哪些便捷的技术实现方式?老码告诉你

相关经验推荐