🔝 大数据的OLAP技术

//
大数据的OLAP技术 | Silent River
http://www.justinablog.com/archives/1323

Paste_Image.png
Paste_Image.png

//
OLAP联机分析是从多维信息、针对特定问题的联机数据进行访问和分析的技术。从分析的角度出发,数据源需提供以下操作支持:
维度和指标
聚合
上卷、下钻
水平、垂直切分
排序

//
通常OLAP的多维数据源由数据方(Cube)提供,关系型数据库或数据仓库都能提供数据方的设计,相对于数据库,数据仓库是昂贵的软硬件解决方案,而互联网普遍采用基于Hadoop技术构建的海量数据处理平台,在这里是否可以作为数据仓库的替代品呢?其核心技术还是,如何基于Hadoop来构建数据方。

//
领域模型设计
这个步骤的目的是理解数据并且构建出领域模型,包括:
源数据如何拆分到不同字段中?
哪些字段用于维度?
哪些字段用于统计指标?
使用什么样的规则来对数据进行聚合?
用户经常使用的组合查询是?
排序规则?

//
数据处理的过程包括读取源数据、预聚合并且生成可供查询的数据表,对OLAP而言,需要对数据进行以下处理:
GROUP BY
COUNT, SUM, AVG
SORT
HAVING – 需进行预聚合


在互联网的技术浪潮冲击下,不少传统企业也纷纷涉水大数据技术。以笔者经历的两个项目为例,传统企业与互联网公司相比有两个特点:
企业应用比较笨重和复杂,云计算等基础架构平台,互联网需要的是水平规模化扩展,但对传统企业来讲,更需要的是垂直一体化部署复杂的依赖并且方便重用;
企业数据,包括关系型的交易数据、日志、文档、电子邮件等等,但总体还是结构化数据占多数;互联网则是非结构化数据为主,如网页、图片、服务器日志等,在网页搜索或广告推荐等领域,高维数据分析比较常见。

和企业私有云的架构一样,对企业的大数据平台,我们很难直接去简单复制互联网的海量存储或计算平台技术,如Hadoop、HBase、Spark;因为这些技术搭建的只是一个数据的基础设施,要在传统企业实施“大数据平台”,我们的思路是,如何将传统的商业智能运行在“大数据平台”之上。
OLAP – 联机分析
OLAP联机分析是从多维信息、针对特定问题的联机数据进行访问和分析的技术。从分析的角度出发,数据源需提供以下操作支持:
维度和指标
聚合
上卷、下钻
水平、垂直切分
排序

下面是一个数据表示例:
Date
Country
City
OS
Browser
Sale

2014-01-23
China
Beijing
OSX
Chrome
0.0

2014-01-24
China
Shanghai
Windows
IE8
8.0

2014-01-24
China
Beijing
OSX
Safari
20.0

2014-01-25
China
Chengdu
Linux
Chrome
12.0

2014-01-26
China
Beijing
Windows
Firefox
30.0

5 visits4 days
1 countryChina: 5
3 cities:Beijing: 3Shanghi: 1Chengdu: 1
3 OS-esWindows:2OSX:2Linux:1
3 browsersChrome:2Firefox:1IE8:1Safari:1
70.04 sales

上卷至Country维度
SELECT COUNT(visits), SUM(sales) GROUP BY country
Country
Visits
Sales

China
5
$70

根据Browser拆分
SELECT COUNT(visits), SUM(sales) GROUP BY country HAVING browser = "Chrome"
Country
Visits
Sales

China
2
$12

查询Sales最高的Browers
SELECT SUM(sales), COUNT(visits) GROUP BY browser ORDER BY sales
Browser
Sales
Visits

Firefox
$30
1

Safari
$20
1

Chrome
$12
2

IE8
$8
1

通常OLAP的多维数据源由数据方(Cube)提供,关系型数据库或数据仓库都能提供数据方的设计,相对于数据库,数据仓库是昂贵的软硬件解决方案,而互联网普遍采用基于Hadoop技术构建的海量数据处理平台,在这里是否可以作为数据仓库的替代品呢?其核心技术还是,如何基于Hadoop来构建数据方。
Pre-aggregate – 预聚合数据
对数据库来说,数据聚合通常是实时的。实时聚合的好处是灵活,可以对任意列进行查询,缺点是CPU、I/O开销较大,数据量大时查询缓慢,吞吐量低;而对Hadoop这样的非实时计算、大量数据处理的平台来说,很适合对数据进行预聚合处理,预聚合的优点是查询快速高效,但缺点是无法灵活查询,比如未进行聚合处理的数据。
在基于Hadoop进行预聚合处理上,Adobe提供了一些经验:
数据表设计需要规范
超过3个维度、10亿条数据时处理会变得复杂
维度表之间尽量不要有相关关系
只创建必须的索引

领域模型设计
这个步骤的目的是理解数据并且构建出领域模型,包括:
源数据如何拆分到不同字段中?
哪些字段用于维度?
哪些字段用于统计指标?
使用什么样的规则来对数据进行聚合?
用户经常使用的组合查询是?
排序规则?

下面是Adobe SiteCatalyst的设计参考,源数据是一条日志,使用reports.json来描述整个设计:


数据采集优化策略
对历史数据,采用大量数据批处理来提高吞吐量,对新增的增量数据,尽量达到低延时查询。一些优化策略包括:
对输入进行条件过滤:
FileDateFilter (log name patterns: log-YYYY-MM-dd-HH.log)
TableInputFormat start/stop row
File Index in HBase (track processed/new files)

提升Map的任务数:
CombineFileInputFormat – 2GB-splits => 500 splits for 1TB
FixedMappersTableInputFormat (e.g. 5-region splits)

数据处理
数据处理的过程包括读取源数据、预聚合并且生成可供查询的数据表,对OLAP而言,需要对数据进行以下处理:
GROUP BY
COUNT, SUM, AVG
SORT
HAVING – 需进行预聚合

以下是Adobe在线数据处理设计和SQL查询的映射:


在reports.json中定义了触发各个处理的类:
屏幕快照 2015-02-07 下午5.23.50

整个处理过程如下:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,294评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,780评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,001评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,593评论 1 289
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,687评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,679评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,667评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,426评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,872评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,180评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,346评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,019评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,658评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,268评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,495评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,275评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,207评论 2 352

推荐阅读更多精彩内容