数据挖掘和可视化
数据挖掘
为什么提出数据挖掘?
商业中产生的实时数据如滔滔江水,源源不断的存储到交易系统,再加上历史存储的交易数据,通常数据条数上亿,依靠人工几乎很难从中捕获有效信息。
数据挖掘应运而生,针对此痛点提出解决方案。
数据挖掘是指从海量的低信息密度信息中,使用挖掘方法,获取关注的高信息密度的信息。本文仅描述在数据仓库场景下的数据挖掘。
数据挖掘一般在OLAP(联机分析处理)系统中进行,实施过程涉及到数据集成、业务设计、数据开发、数据服务等数据治理阶段。
OLAP系统使数据仓库能够快速响应重复而复杂的分析查询,从而使数据仓库能有效地用于联机分析。OLAP 的多维数据模型和数据聚合技术可以组织并汇总大量的数据,以便能够利用联机分析和图形工具迅速对数据进行评估。当业务分析人员搜寻答案或试探可能性时,在得到对历史数据查询的回答后,经常需要进行进一步查询。OLAP 系统可以快速灵活地为分析人员提供实时支持。
通常的OLAP应用有财务报表、市场分析、市场计划、客户服务等。
数据挖掘之平台选型
前文提到数据挖掘一般在OLAP系统中进行,在进行数据挖掘之前需要选择合适的OLAP系统。目前Oracle、微软、Cognos、Hyerion等商业公司提供了相关的服务,除此之外,还有基于apache Hadoop开源生态的解决方案,以及MPP(大规模并行处理系统)数据库如Greenplum、ClickHouse等。
数据挖掘之数据集成
一个OLAP系统里的数据来源有文件系统,关系数据库,数据仓库,NoSQL,大数据云服务,对象存储等数据源,为了将数据集成到OLAP系统中,实现数据的流动,需要进行批量的数据迁移。
数据挖掘之业务设计
首先数据仓库的基本结构就是Star Schema和SnowFlake Schema,星型结构和雪花结构。
通过业务设计,根据事实表和维度表提取业务原子指标,根据原子指标计算衍生指标、复合指标,完成一个业务需求的设计。
以业界标准的零售场景典型模型为例,从数据仓库中的订单数据出发,根据业务流程设计,包含多张事实表、维度表。从业务上需求来看,一般包括收入分析、运营分析、营销分析、渠道分析、供应链分析、配送分析、舆情监控和用户关怀等几个大类。
设计数仓分层模型时,采用Kimball方法,从需求关注的指标出发,设计数据集市层的宽表字段,根据集市层列出相关联的明细层事实表、维度表,围绕指标或主题设计中间层,中间层连接了集市层和明细层,从而实现从上至下的集市层、服务层、明细层的数据挖掘业务设计。
数据挖掘之数据开发
根据业务设计,编写代码,实现业务指标的计算,即进行数据开发。
通常情况下数据开发的产出是OLAP系统的SQL脚本,SQL脚本实现围绕业务需求指标计算的逻辑。通过执行一系列的SQL脚本作业,逐个层次计算结果和写入各层次表,最终业务关注的指标结果存放在数据集市层表中。
数据挖掘之数据服务
数据服务即以某种形式将数据集市中的表数据提供给业务方查询,形式一般为数据仓库提供数据接入给用户,用户配置接入方式到后端服务器访问数据集市而获得数据,经过应用后端服务器转义数据字段的含义,最终呈现在各种前端设备上。
此外,还有一种数据服务为将数据接入封装成服务,供所有授权的用户或组织调用,实现高信息密度数据的流通。
可视化
数据的可视化有两种途径,第一种是将数据集市的表导入excel、origin、matlab、spss等商业软件,使用该软件的绘图功能呈现各种图表。
第二种是使用Superset、DataV、Tableau、PowerBI等数据可视化工具,经过一次开发后自动化的完成数据可视化任务。
- 点赞
- 收藏
- 关注作者
评论(0)