FDL专题:定时任务自动化导出Excel/CSV,高效归档业务明细数据
【技术分享】本文将介绍ETL过程中Excel/CSV文件输出的常见问题,并以合同订单数据文件输出为案例,讲解FDL如何为文件稳定输出保驾护航!快来关注好数连,获取更多关于API取数、数据清洗、数据同步的实用技巧!
FDL专题
定时任务自动化导出Excel/CSV,高效归档业务明细数据
Excel/CSV文件输出应用场景
Excel/CSV文件输出的常见问题
合同订单数据文件输出实战(输出Excel/CSV)
如果你还想学习更多FineDataLink应用技巧,一起成为技术达人!可以点击:FineDataLink学习路径 (qq.com)
学完就可以通过帆软FCA认证考试哦!(产品最新版本:最新功能DEMO快速体验)
Excel/CSV文件输出应用场景
当数据需要在分享给业务人员查看使用或需要以文件形式备份时,通常为了操作简单、高效、易于兼容,会使用Excel或CSV这种文件格式导出数据,也方便直接进行数据分析处理。
随着业务数据量的指数级增长、数据安全性要求的提高,企业就需要将存储在Oracle、SQL Server、PostgreSQL等数据库的百万级明细数据(如销售订单数据),定时定期以Excel或CSV文件格式上传到FTP/SFTP服务器。
一方面,Excel或CSV文件格式应用广泛,易于共享,兼容性强;
另一方面,FTP/SFTP服务器提供了一个安全、可靠的环境来传输、存储和备份数据,同时支持安全的数据传输协议(特别是SFTP,它是基于SSH的FTP协议,提供了数据加密和认证功能);
另外,在这个过程中,自动化工具(ETL工具)可以替代脚本很容易地将处理后的数据定期上传,人工干预少,提高了数据处理效率和准确性。
Excel/CSV文件输出的常见问题
很多业务库系统数据表部分导出存在限制;
系统
数据库
可导出EXCEL/CSV
用友、金蝶、浪潮
SQL Server, Oracle等等
可(若版本导出到Excel 2003格式,会受到65,536行的限制,与软件版本兼容性有关)
SAP
HANA
可(CSV无法导出超过 300 万个单元格或 60 个度量列;XLSX无法导出超过 50 万个单元格,不能导出超过 150 万行个单元格。
仅支持数据模型类型:SAC 获取数据、HANA 实时数据、BW 实时数据)
且手工操作只适用小数据量的文件转换,相对繁琐;
脚本编写此类任务时,也常常因为数据量大、数据格式不一致、业务库不许直连等,出现数据丢失(Excel单个sheet行数限制)、任务运行过慢、字段映射方面的报错。
如果数据需要清洗整理,想直接导出处理后的数据(如筛选某一季度即将逾期交付的大额订单),涉及多个字段的处理,想要“一步到位”,更是难上加难。
针对这样的情况,FineDataLink提供了低代码、高效、方便、稳定性强的解决方案。在定时任务中可以使用「文件输出」算子,将加工后的数据设置好字段映射关系、分隔符、编码后,以Excel或CSV文件形式给业务人员分享使用、以文件形式进行数据归档。
FineDataLink支持思维导图式拖拉拽开发,对非技术人员也很友好;丰富多样的「数据转换」算子,可以在直接导出“定制化”数据;配合数据同步的高性能计算引擎,保证定时传输任务高效运转。
合同订单数据文件输出实战
1)合同订单数据输出为 CSV 文件
将处理后的合同订单数据以 CSV 文件的形式,输出到「FTP/SFTP 服务器」中。
1、建立业务系统数据库、FTP/SFTP 服务器数据连接
确定业务系统的数据库,根据数据源配置数据连接。参见:支持的数据源范围- FineDataLink帮助文档
配置 FTP/SFTP 数据连接,并且有该数据连接的使用权限。具体请参见:配置FTP/SFTP数据连接- FineDataLink帮助文档
2、数据处理
新增定时任务,根据数据类型拖入数据输入相关算子,获取要输出的数据。
参考 新增计算列- FineDataLink帮助文档 文档的 2.1-2.4 节内容,在「数据转换」节点中对数据进行处理,若无处理需求可省略该步骤。
3、输出为文件
新增「文件输出」节点,与「新增计算列」算子相连。
将处理好的数据输出到「FTP/SFTP 服务器」中的「文档」文件夹中,文件名为「合同事实表」。
点击右上角「保存」按钮。
4、运行效果查看
点击「保存并运行」按钮,执行任务。执行成功后,可看到 「FTP/SFTP 服务器」的「文档」文件夹中「合同事实表」。
2)合同订单数据输出为 EXCEL文件
基本步骤与【合同订单数据输出为 CSV 文件】一致。
在第三步【输出为文件】中,考虑到数据行数较多时,Excel版本存在行数限制,FineDataLink的「文件输出」算子可以将处理后的数据按照行数拆分为多个文件,避免处理大数据量时出现的报错。(下图设置:每 100 行数据输出为一个 Excel 文件)
【技术文档参考】:
文件输出算子:https://help.fanruan.com/finedatalink/doc-view-420.html
文件拆分输出:https://help.fanruan.com/finedatalink/doc-view-667.html
更多文件输出案例请前往:Demo平台-FineDataLink
往期精彩:
FDL实践:企业微信API取数
FDL专题:详解DDL同步及其应用场景
FDL专题:CDC数据同步进行时遇到不可抗力(网络中断)中断了怎么办?
FDL专题:如何在工作中对Kettle任务进行迁移?可以直接调用吗?
FDL专题:对接金蝶云API取数
「场景实战」金蝶API取数+JSON解析,FDL解决商管预算管理跨库分析问题
「场景实战」关联分析性能差?试试数仓搭建,解决多源业务系统关联分析难题!
「4.1.9更新速览」分区支持PostgreSQL、Greenplum、Gauss200, 定时任务支持Kettle...
FineDataLink是一款集实时数据同步、ELT/ETL数据处理、数据服务和系统管理于一体的数据集成工具,可在Windows或Linux环境上单机/集群部署,全程基于B/S浏览器端进行任务开发和任务运维,更多精彩功能,邀您体验,希望能帮您解决企业中数据从任意终端到任意终端的处理和传输问题,让流动的数据更有价值!
点击此处,直接体验
想要学习更多技术和功能,请点击FineDataLink文档
由0到1,带您进入FineDataLink的世界
若有企业试用需求,请填写此申请表单,我们的工作人员会在3个工作日内联系您!