无需独立部署,使用Smartbi自带的ETL功能即可满足日常需求
商业智能(BI)与大数据分析软件
效益,因管理而变,管理因我们(Smartbi)而变

商业智能(BI)与大数据分析软件

效益,因管理而变,管理因我们(Smartbi)而变

无需独立部署,使用Smartbi自带的ETL功能即可满足日常需求

发布时间:2021-02-04      游览量:2802

01什么是ETL?


216.jpg 


ETL(Extraction-Transformation-Loading的缩写)是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策分析提供数据依据。

 

ETL是BI项目建设中重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关系到BI项目的成败。ETL也是一个长期的过程,只有不断的发现问题并解决问题,才能使ETL运行效率更高,为项目后期开发提供准确的数据。

 

ETL的流程分三部分:数据抽取、数据的清洗转换、数据的加载。在设计ETL的时候也是从这三部分出发。数据的抽取是从各个不同的数据源抽取到ODS中,在抽取的过程中需要挑选不同的抽取方法,尽可能提高ETL的运行效率。整个流程中,花费时间最长的是T(清洗、转换)的部分,一般情况下这部分工作量占整个ETL的2/3。数据的加载一般在数据清洗完了之后直接写入DW中去。

 

目前,主流的ETL工具有DataPipeline、Kettle、Talend、Informatica等,这些工具都比较专业,有一定的学习成本,且都需要独立部署。如果BI系统只是用到了常规的ETL功能,那么用BI自带的ETL功能就足够了,方便快捷,例如Smartbi自带的自助ETL。

 

 

02 Smartbi自助ETL介绍

 

Smartbi通过封装ETL算法,将技术分离,可以实现业务人员进行自助ETL操作。自助ETL以工作流的形式实现为库表提取数据模型的语义,通过易于操作的可视化工具,将数据加工成具备语义一致性与完整性的数据模型,也可以增强自助数据集构建数据模型的能力。自助ETL采用分布式计算架构,同时单节点情况下支持多线程,这极大地提高了数据处理的性能,亿级的数据量处理时间可以达到分钟级。

 

Smartbi自助ETL工作流程以数据源为起点,以目标源为终点:从数据源中抽取需要进行处理的数据,通过拖拽内置的预处理方法,之后将处理过的数据存储到目标源中。

 

 217.jpg

 

03数据抽取

 

数据的抽取需要在调研阶段做大量工作,首先要搞清楚以下几个问题:数据是从几个业务系统中来?各个业务系统运行什么数据库?是否存在手工数据?手工数据量有多大?是否存在非结构化的数据等等类似问题,当收集完这些信息之后才可以进行数据抽取

 

Smartbi自助ETL的数据抽取具有丰富的数据连接能力,支持目前主流的关系数据库,如Oracle、Mysql、DB2、MSSQL、Presto+hive、星环、PG、Gauss100、Greenplum等等,通过创建数据源快速连接企业的业务数据库。同时,Smartbi还提供跨库联合数据源,用于实现跨库查询的需要。应对不同接口数据统一访问的问题。

 

对于本地数据,Smartbi支持批量上传Excel、CSV、TXT文件;而对于需要手工录入的数据,采用表单填报即可。

 

对于数据量大的系统,必须考虑增量抽取。一般情况,业务系统会记录业务发生的时间,可以用作增量的标志,每次抽取之前首先判断ODS中记录的时间,然后根据这个时间去业务系统取大于这个时间的所有记录。

 

一般情况下,数据仓库分为ODS、DW两部分,通常的做法是把数据从业务系统抽取到ODS做清洗,将脏数据和不完整数据过滤掉,也即数据的预处理。再从ODS到DW的过程中转换,进行一些业务规则的计算和聚合。

 

 

04数据预处理

 

Smartbi自助ETL拥有强大的数据预处理能力,对各种结构化数据,可进行排序、去重、映射、行列合并等处理,满足客户的日常需要。并且是完全可视化操作,业务人员都能参与。


 218.jpg

 

数据清洗

数据清洗的任务是过滤那些不符合要求的数据,将过滤的结果交给业务主管部门,确认是否过滤掉还是由业务单位修正之后再进行抽取。不符合要求的数据主要是有不完整的数据、错误的数据和重复的数据三大类。

 

A、不完整的数据,其特征是是一些应该有的信息缺失,如供应商的名称,分公司的名称,客户的区域信息缺失、业务系统中主表与明细表不能匹配等。需要将这一类数据过滤出来,按缺失的内容分别写入不同Excel文件向客户提交,要求在规定的时间内补全。补全后才写入数据仓库。

 

B、错误的数据,产生原因是业务系统不够健全,在接收输入后没有进行判断直接写入后台数据库造成的,比如数值数据输成全角数字字符、字符串数据后面有一个回车、日期格式不正确、日期越界等。

 

C、重复的数据,特别是表中比较常见,将重复的数据的记录所有字段导出来,让客户确认并整理。

 

数据清洗是一个反复的过程,不可能在几天内完成,只有不断的发现问题,解决问题。对于是否过滤、是否修正一般要求客户确认。对于过滤掉的数据,写入Excel文件或者将过滤数据写入数据表,在项目开发的初期可以每天向业务单位发送过滤数据的邮件,促使他们尽快的修正错误,同时也可以作为将来验证数据的依据。数据清洗需要注意的是不要将有用的数据过滤掉了,对于每个过滤规则认真进行验证,并要用户确认才行。

 

数据转换

数据转换的任务主要是进行不一致的数据转换、数据粒度的转换和一些商务规则的计算。

 

A、不一致数据转换,这个过程是一个整合的过程,将不同业务系统的相同类型的数据统一,比如同一个供应商在结算系统的编码是XX0001,而在CRM中编码是YY0001,这样在抽取过来之后统一转换成一个编码。

 

B、数据粒度的转换,业务系统一般存储非常明细的数据,而数据仓库中的数据是用来分析的,不需要非常明细的数据,一般情况下,会将业务系统数据按照数据仓库粒度进行聚合。

 

C、商务规则的计算,不同的企业有不同的业务规则,不同的数据指标,这些指标有的时候不是简单的加减就能完成,这个时候需要在ETL中将这些数据指标计算好了之后存储在数据仓库中,供分析使用。

 

 

05 ETL监控

 

ETL监控的目的是随时可以知道ETL运行情况,如果出错了,出错在那里。

 

Smartbi自助ETL可以监控数据集抽取的信息,包括执行时间,状态及操作等,并生成抽取日志。包括两种,一种是抽取过程的错误日志,这种是在抽取异常的时候会记录在error文件,在数据集抽取日志中能查看;另外一种是抽取过程中的DEBUG日志,这种是为了便于跟踪抽取过程直接输出到控制台。

 

ETL的调度通过Smartbi计划任务自动执行,系统对ETL调度在状态、启用情况、执行时间上进行监控。ETL工作流定制完成时,系统自动设置计划任务进行ETL调度。

 

由此可见,对于大部分的BI项目,其实我们没必要部署一套独立的ETL工具。如此不仅需要花费额外的采购成本,而且还需要投入学习成本。使用Smartbi自带的ETL功能已经可以满足日常需求,而且容易上手,和BI紧密集成,无疑是一种更加明智的选择。



新一代商业智能BI工具

你已经点过赞了
Copyright© 广州思迈特软件有限公司  粤ICP备11104361号

电话咨询

售前咨询
400-878-3819 转1

售后咨询
400-878-3819 转2
服务时间:工作日9:00-18:00

sales邮箱

商务咨询请联系邮箱

邮箱地址:sales@smartbi.com.cn