如何利用数据仓库优化数据分析?

文章讲的是如何利用数据仓库优化数据分析,在整个数据分析流程中,数据处理的时间往往要占据70%以上!这个数字有没有让你震惊呢?为了提高分析效率和质量,借用数据仓库进行数据分析是一个很好的选择,详细的工作方法本文都有所介绍。

  首先,我们来了解一下数据仓库吧!数据仓库是一个面向主题的、集成的、相对稳定的、反应历史变化的数据集合。那数据分析又是干什么的呢?笔者凭借个人的经验认为,基于业务需求,结合历史数据,利用相关统计学方法和某些数据挖掘工具对数据进行整合、分析,并形成一套最终解决某个业务场景的方案就是数据分析的过程。

  数据分析大致包括以下流程:

  业务理解–数据理解–数据准备–建模–评估–部署

  由于数据分析对数据质量、格式的要求天然就比较高,对数据的理解也必须非常深刻,使得数据契合业务需求也要一定的过程,这样,根据我们的经验,在整个数据分析流程中,用于数据处理的时间往往要占据70%以上。

  因此,如何高效、快速地进行数据理解和处理,往往决定了数据分析项目的进度和质量。而数据仓库具有集成、稳定、高质量等特点,基于数据仓库为数据分析提供数据,往往能够更加保证数据质量和数据完整性。

  利用数据仓库进行数据分析无疑能够给我们的工作带来很大便利,那么,究竟要如何操作呢?我们首先需要了解数据仓库的优势,数据仓库至少可以从如下三个方面提升数据分析效率:

  1. 数据理解

  数据仓库是面向主题的,所以其自身与业务结合就相对紧密和完善,更方便数据分析师基于数据理解业务。下图是Teradata关于金融行业的成熟模型:

  我们可以看到,整个数据仓库被分为十大主题,而金融行业所有的数据、业务都会被这十大主题涵盖。当我们需要找某个信用卡账户信息时,我们就去协议(AGREEMENT)主题,需要某次存款交易信息时就去探寻事件(EVENT)主题,需要某个理财产品相关信息就挖掘产品(PRODUCT)主题,如此类推,我们就会发现十大主题将整个金融行业的数据划分得非常清晰,我们需要做的就是拿到业务需求,理解数据仓库的模型,数据理解也就水到渠成了。

  2. 数据质量

  数据分析要求数据是干净、完整的,而数据仓库最核心的一项工作就是ETL过程,流程如下:

  而数据仓库已经对源系统的数据进行了业务契合的转换,以及脏数据的清洗,这就为数据分析的数据质量做了较好的保障。

  3. 数据跨系统关联

  上图是数据仓库的一个简单架构,可以看到,各业务源系统的数据经过ETL过程后流入数据仓库,当不同系统数据整合到数据仓库之后,至少解决了数据分析中的两个问题:

  第一,跨系统数据收集问题,同一个客户的储蓄交易和理财交易我们在同一张事件表就可以找到;

  第二,跨系统关联问题,同一个客户可能在不同系统中记录了不同的客户号,甚至存在不同的账号,进行数据整合时,总是需要找到共同的“纽带”来关联来自不同系统的信息,而数据仓库在ETL过程中就会整合相关客户信息,完美解决跨系统关联问题。

  可见,数据仓库是整合的、面向主题的、数据质量高的、跨系统的优质数据源,那么,我们该如何充分利用这些优势呢?

  笔者总结了如下经验:

  1. 研究数据仓库模型:数仓的精髓就是面向主题的模型,能理解各大主题域范畴,熟悉不同主题间的关系,基本就掌握了数仓的架构;

  2. 学习数据仓库设计文档:设计文档是业务与数据,数仓与源系统的桥梁,熟悉表间mapping映射,就能快速定位需求变量的来源和处理逻辑,全面了解相关业务;

  3. 熟悉数据字典表:数据字典是数据仓库物理存储的信息库,可以通过数据字典了解库、表、字段不同层级的关系、存储、类型等信息;

  4. 研究ETL脚本:学习几个数据仓库ETL加工脚本,能更细致的探索数据加工处理逻辑,更清楚的理解数仓加工模式,快速掌握数据加工技巧;

  5. 观察明细数据:想要真正了解数据,就必须对具体数据进行不同维度和层次的观察;比如事件表,从交易类型、时间、渠道、业务种类等多个维度捞几条数据,观察某个相同条件下不同维度的交易变化,了解银行交易的全景信息,帮助理解业务,熟悉数据。

  事实上,除此之外,数据处理人员还应该从中学习到数据仓库的思想:面向主题,逐层加工。

  面向主题是指让杂乱的数据结合业务划分,更容易着手处理原本杂乱的数据,数据处理人员只需知道哪些数据属于哪个主题,然后基于主题再进一步处理;逐层加工则是指让细粒度的数据走向宽表的过程清晰,有层次,数据处理过程中清楚每一步的产出是什么。

  其实,每一个数据分析师或者数据处理师都会有自己的工作习惯和经验,以上是笔者经历两年多数据仓库开发、三年数据仓库和数据分析兼职者的经验总结的一些心得,希望对大家有所帮助。

作者:蝙蝠侠 

来源:IT168

原文链接:阿里云发布函数计算 毫秒级弹性伸缩

时间: 2024-11-05 19:32:09

如何利用数据仓库优化数据分析?的相关文章

如何利用数据仓库优化数据分析?

在整个数据分析流程中,数据处理的时间往往要占据70%以上!这个数字有没有让你震惊呢?为了提高分析效率和质量,借用数据仓库进行数据分析是一个很好的选择,详细的工作方法本文都有所介绍. 首先,我们来了解一下数据仓库吧!数据仓库是一个面向主题的.集成的.相对稳定的.反应历史变化的数据集合.那数据分析又是干什么的呢?笔者凭借个人的经验认为,基于业务需求,结合历史数据,利用相关统计学方法和某些数据挖掘工具对数据进行整合.分析,并形成一套最终解决某个业务场景的方案就是数据分析的过程. 数据分析大致包括以下流

Windows Shellcode学习笔记——shellcode在栈溢出中的利用与优化

本文讲的是Windows Shellcode学习笔记--shellcode在栈溢出中的利用与优化, 0x00 前言 在<Windows Shellcode学习笔记--shellcode的提取与测试>中介绍了如何对shellcode作初步优化,动态获取Windows API地址并调用,并通过程序实现自动提取机器码作为shellcode并保存到文件中. 0x01 简介 先从最入门的缓冲区溢出开始 本文将要结合<0day安全:软件漏洞分析技术>中的"栈溢出原理与实践"

Android中利用ViewHolder优化自定义Adapter的写法(必看)

最近写Adapter写得多了,慢慢就熟悉了. 用ViewHolder,主要是进行一些性能优化,减少一些不必要的重复操作.(WXD同学教我的.) 具体不分析了,直接上一份代码吧: public class MarkerItemAdapter extends BaseAdapter { private Context mContext = null; private List<MarkerItem> mMarkerData = null; public MarkerItemAdapter(Cont

利用SEO优化打造目标品牌的一些方法

混小子已经很久没更新博客了,实在对不起一直来我博客的朋友们,看见大家的留言了,也有非常多的朋友关心我的近况,也在催促更新博客,确实不好意思,整个12月份就更新了一篇文章,而且是在微博客,也就是3天前,我记得以前在博客里面说过忙只是借口,但是我想说的是生活也太现实了,我得努力赚钱,如果我的职业是搞网络的,相信文章更新频率我2天就可以更新一次而且自从09年上网非常凶,意料之中也是意料之外,当时身体出现了一点点情况,所以逐渐的对于拼命沉迷在网络中也是慢慢的降低了兴趣,当然我对SEO优化这块一直没淡化,

利用HTML优化加快网页速度

速度|网页|优化      web开发人员是否必须掌握复杂的组件技术才能加快html页面的访问速度?答案是:不一定!实际上,有许多关于HTML与DHTML方面的技巧,它们原理简单而且上手容易.无论是技术高超的老手,还是初涉编程的菜鸟,领会这些都十分必要.      明显HTML,暗渡"公用脚本"      减少web页面下载时间的关键就是设法减小文件大小.当多个页面共用一些成分内容时,就可以考虑将这些公用部分单独分离出来.比如:我们可以将多个HTML页面都用到的脚本程序编写成独立存在的

如何利用HTML优化加快网页速度

速度|网页|优化 web开发人员是否必须掌握复杂的组件技术才能加快html页面的访问速度?答案是:不一定!实际上,有许多关于HTML与DHTML方面的技巧,它们原理简单而且上手容易.无论是技术高超的老手,还是初涉编程的菜鸟,领会这些都十分必要. 明显HTML,暗渡"公用脚本"减少web页面下载时间的关键就是设法减小文件大小. 当多个页面共用一些成分内容时,就可以考虑将这些公用部分单独分离出来.比如:我们可以将多个HTML页面都用到的脚本程序编写成独立存在的.js文件,然后再在页面中按如

ASP.NET MVC中利用脚本优化提高页面加载速度:

在这里我们说一下脚本优化的三个方法: 一.在我们做Web开发的时候,当我们引用Js文件的时候,我们一般会将js文件放在文档的head标签中,这时当页面加载的时候,浏览器会按着由上到下的顺序,当浏览器遇到script标签时,它会阻止其他内容的下载,知道他检索完整个脚本,这样会减慢页面加载速度,因此,script标签应该尽可能的放到页面的底部(仅仅位于body结束标签之前)就会产生很好的用户体验. 二.另一种减少页面加载时间的技术就是精简自定义脚本.比如我们经常用到的jquery.validate.

在Apache服务器上利用Varnish优化移动端访问的方法_Linux

想象一下,你刚刚发布了一篇博文,并分享到了社交网络.然后,这篇文章恰巧被大V看中再次分享了出去,立即吸引了数百粉丝的目光,引导他们涌入了你的网站.看到这么多的访客量,以及它们的评论,你内心激动不已.突然之间,你的网站就挂掉了,满屏的数据连接错误-- 或者假想另一种情境,你一直很努力地创业.突然有一天,一个大V在社交网络表达了对贵公司的喜爱之情,字里行间满满的赞叹.关注这个大V的粉丝心动了,又涌入了你的网站.不幸的是,点击连接后却无法进入你的网站,或者进入后无法注册用户,甚至页面相应超时,无法获取

数据仓库优化中什么是星型转换(Star Transformation)?

转载:http://www.anysql.net/oracle/olap_tuning_startransformation.html 在数据仓库中经常查询的SQL总带有下列特征: 几个表进行关联 只有一个数据量巨大的表, 称为事实表 其他的都是编码表, 称为维表 维表和事实表之间有主外键关系 假设有D1(key1),D2(key2),D3(key3),D4(key)四个小的维表和一个事实表F(key1,key2,key3,key4), 那么经常进行的查询将是: SELECT D1.xxx, D