从之前《小麦教你用自助ETL进行数据处理》这篇文章中我们知道,Smartbi出了轻量级ETL功能。它是可视化流程配置,简单易用,业务人员都能参与;无需单独部署,能够与Smartb无缝连接,允许将数据准备的结果,以数据表方式直接提供给BI使用;它还采用分布式计算架构,单节点支持多线程,能够处理海量数量,提高数据处理的性能。
这块强大数据处理功能不仅支持异构数据,还内置排序、去重、映射、行列合并、行列转换聚合、去空值等等数据预处理功能,满足客户日常数据处理的需要。下面我们就举例介绍几种数据预处理功能。
过滤和映射 过滤和映射是指根据用户需求,通过写SQL语句(片段)的方式,对数据集中指定字段进行条件筛选过滤。
如下图,原先示例数据源的输出结果有150条数据,对其进行过滤与映射,设置过滤器的表达式:[Species]='versicolor' ,即只输出Species为versicolor的数据。
我们通过可视化流程操作,拖拽过滤器映射对象,通过设置过滤器条件来实现,如下图:
去除重复值 去除重复值是用于删除数据集中的重复行(假如有两行相同,保留其中一行)。也是数据处理中比较常见的要求。
如下示例,原先关系数据源的输出结果有9条数据,对其进行去除重复值,在选择列弹框中选择所有的列。
我们通过可视化流程操作,拖拽去除重复值对象,对其参数进行选择列设置来实现,如下图:
空值处理节点是将空值替换为均值、最大频数或者用户自定义的值等,实现空值的填充或者过滤。空置处理的替换值包括最大值、最小值、平均值、中位数、按空值百分比删除列、出现频率最多替换、指定值、过滤整行,用于满足不同的用户需求。
我们来看一个示例:我们将空值处理为该列出现频率最多的值,例如number出现频率最多的值为“4”,则空值经过处理后变成“4”;count出现频率最多的值为“100”,则空值经过处理后变成“100”。
我们通过可视化操作拖拽空值处理对象对原先数据源进行空值处理,设置如下图,存在空值,对其进行空值处理,选择列:number、count ,空值处理为“出现频率最多替换”。
行转列是用于实现将数据结果的行转换成列。列转行是用于实现将数据结果的列转换成行。
下面我们举一个行转列的例子。如下图,原先数据集有4条数据,对其进行行转列。
我们通过可视化操作拖拽行转列对象对原先数据源进行空值处理,设置如下图,设置选择要透视的列为“科目”,请选择值列为“分数”,聚合方式为“最大值”。
除了以上功能,Smartbi数据预处理功能还有采样、拆分、JOIN、排序、合并列/合并行、增加序号列、聚合、派生列等,有兴趣的小伙伴可以到我们wiki上学习使用哦!
使用这些预处理功能处理完成的数据,我们就可以输出到目标源中了。这样不仅可以提高数据的质量,也能让数据更好地进行数据分析和数据挖掘!
|