作者:finedatalink
发布时间:2023.8.7
阅读次数:514 次浏览
ETL(Extract, Transform and Load) 是从不同的源系统中提取数据、进行数据转换和加载的过程。
ETL 是BI项目中重要的一个环节,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据标准,将数据加载到数据仓库中去,为后续的数据分析提供数据支撑。
具体来说,在商业智能BI项目中,当需要对来自于各个业务系统的数据进行筛选、关联、汇总,那就会直接在BI平台前端进行拖拉操作,进行数据匹配、过滤、计算等。
当数据量较少时,一般不会有什么问题,一旦数据量变大后,例如好几百万行、甚至几千万行,将这些处理过程的压力全部给到BI平台和业务系统时,数据分析平台的展现速度就会变得很慢,严重的话,还会影响原始业务系统和整个BI平台的正常使用,这时候ETL的作用就出来了。
所以ETL在数据分析中能够起到的作用是巨大的。那么ETL究竟是什么呢?
主要是针对各个业务系统及不同服务器的分散数据,充分理解数据定义后,确定需要的数据源,抽取部分或全部数据到目标系统,数据抽取分为全量抽取和增量抽取多种方式,实现方式不同,数据抽取效率也不一样。
从上一步提取的原始数据,因为数据质量、维度等原因不能以原始形式使用,因此需要进行数据清洗、合并、拆分、加工、数据逻辑计算处理,通常会按照一定的业务逻辑规则进行计算,最后转换成符合业务模型、分析模型的规范性的数据。
简单来说,不管是大数据、小数据,都是将不规范的、不可分析的数据转换成规范的、可分析的数据。数据转换是ETL中花费时间最长的部分,一般情况下工作量是整个ETL的2/3,但却是 ETL 过程中,增加业务数据价值,具备实现洞察力BI的基础,因为保证了数据的质量与正确性。
抽取转换之后,将数据加载到目标数据库。整个过程一般需要跨平台、跨系统、跨网络。在实际项目中,需要结合使用的数据库系统的类型(比如MySQL、Oracle、SqlServer、PostgreSQL、GreenPlum等),选择最合适的数据加载方式。
所以ETL在商业智能中能够起到的作用是巨大的,那么ETL的价值有哪些?
ETL的成功应用为企业的信息数据化带来了新的机会,ETL在企业中体现的主要价值在:
ETL让用户通过图形化的拖、拉、拽方式进行配置,易懂、好上手。另外,在后期维护上,无需看大端代码,即可快速定位。
不管是OA系统、CRM系统,还是MES系统,系统的底层都是各种数据库在进行支撑,ETL通过对接各类数据源,来处理各个业务系统的数据处理。
数据处理组件非常丰富,通用强,组件容易复用,在数据处理过程中,无需通过复杂的代码或者存储过程,即可实现数据处理过程。
权限、日志管理等:在和各个业务系统对接过程中,其数据权限的重要性不言而喻,数据连接权限、任务开发权限、系统运维权限的存在,使得整个ETL过程更加安全;日志管理,使得任务运行更有保障。
市面上大多BI工具都不含ETL功能,在进行数据分析项目时,通常会用到BI、ETL两个工具,但成本高、花费时间长。
FineDataLink数据集成平台基于这个需求,依赖十六年的商业智能经验,推出可视化ETL平台,通过简单的图形化拖拽就可以完成ETL过程,所以下面的讲解我们以FineDataLink为例。
一般情况下,ETL过程中需要用到大量的代码或者存储过程,有效重复利用率低。页面简洁,感知图形化页面来进行数据处理,充分结合大量帆软商业智能分析的项目人员实施习惯,可以快速上手的,提高效率,降低实施难度。
开发过程支持多人协同,使得数据处理过程更高效;工具内包含各种开发节点,降低技术门槛,只需简单的拖拽配置,即可玩转数据处理。
FineDataLink支持丰富的多源异构数据对接:例如MySQL、Oracle、SqlServer、PostgreSQL、GreenPlum、HSQL、IBM DB2、Informix等主流关系型数据库,RestAPI、简道云等接口数据;以及数仓引擎SAP HANA、Hive、Impala、Presto、ClickHouse、达梦数据库等大数据场景下的数据源。
在FineDataLink中,将ETL数据开发定义成“步骤流”和“数据流”,面向数据分析师精心打造,满足各种各样的数据处理场景,同时支持处理前后等结果预览。其中步骤流包含:数据同步、数据转换、Shell脚本、调用任务、参数赋值、条件分支、循环容器、消息通知等;数据流包含:RestAPI输入、SAP RFC输入、对比删除、数据关联、行列转换、JSON解析等。
一般情况下,ETL都需要进行调度任务设置。比如,某生产部门需要每天早上统计制造用料、当天预期生产用户当天产线排期,如果利用ETL实现,时间调度管理必不可少,将ETL任务时间点设置为“会前半小时”,即可在开会时拿到最新数据。FDL的任务配置,从各个使用场景出发,即可实现复杂的调度任务:支持周、天、小时、分钟级别的简单重复执行,固定时间的明细频率执行,以及更复杂和灵活场景下的corn表达式设定执行等场景。
在完成ETL数据开发后,“任务按预定时间准时运行”、“任务准时运行成功”,将会是运维人员最为关心的问题,因为这将涉及到数据是否能准确、准时地提供给业务部门进行数据分析以及决策。通过“消息通知”,在任务执行成功或者失败时,可以自定义完成邮件、短信、企业微信、钉钉等的实时通知,在第一时间告知您任务的运行情况。另外,通过FDL提供整体的可视化运维界面,通过任务的运行状态:运行成功、运行中断、运行报错,跳转到任务的详情界面,直接定位任务错误原因,通过这一步,将可以更快、更准确地找到根本问题并解决。
另外,FineDataLink还具备数据实时同步、API接口数据对接等更多应用场景,欢迎点击下方链接进行了解。
数据集成平台产品更多介绍:www.finedatalink.com