解读《大数据下的数据分析平台架构》

再看《大数据下的数据分析平台架构》:

来源于Admaster数据挖掘总监 谢超

看名字Admaster,是一个广告推荐公司。

就是帮广告公司分销广告的公司。

广告公司接到各种企业来的广告,而自己本身没有能力做网络推销

那么只有依托Admaster这类可以精准定位产品用户的公司,来帮其分发广告

Admaster可以说是二道贩子,但是随着互联万的越来越成熟,这类公司反而更容易称为主流

回到主题上来,这文章主要讲解的是大数据下的数据分析平台架构。

首先,离开场景讨论架构,那都不切实际。

因此首先要明确,我们的场景是什么

作者在他的文中,解释了几个常见的需要用到大数据分析架构的应用场景:

1. 按照数据分析的实时性,分为实时数据分析和离线数据分析

传统的实时数据分析,通过精心设计的RDBMS集群可以完成,比如 EMC的 GreenPlum, SAP HANA

但对于数秒内返回上亿行数据的分析结果,这时候就要引入Storm, Spark 等新型实时流处理技术了。

这一点鉴于当时作者的写作时间来看,他也是没预料到生态发展这么快。

而离线大数据分析,依然是Hadoop的强项。

因为大量数据的转换,传统的ETL造成的开销太大,因此采用kafka, Chukwa, Timetunnel这类工具,才能实现在每秒数百MB的数据采集操作,将数据上载到Hadoop的分布式存储上,

调用MapReduce 来处理。

同样的,现在已经可以说由 Spark 替代了

2. 按照大数据的数据量,分为内存级别,BI级别,海量级别

内存级别就是分布式内存计算。总量不超过集群的总内存量。

可以是各种NoSQL, MongoDB, Redis, Memcached 的集群应用

也可以是Spark 集群的并行计算。

BI级别,就是传统的数据仓库那个量,但是比 NoSQL 这种只将数据存入内存的场景,数据显然多很多。但是这类应该放入 传统的BI,作者放在这里,应该只是为了提供比较

海量级别,就是传统的BI无法处理的数据量了。一般的BI数据仓库,TB级以上就算很大了。但是互联网企业中,海量的意思,可能是PB,也就是1024个BI数据仓库的规模。因此传统BI的工具,比如 SSIS, Informatic, Data Stage, BO 等ETL, 报表工具就无法完成计算与存储了。此时,hadooop 的HDFS 就应运而生了。分布式存储,意味着增加机器就能线性扩容。

3. 按照数据分析的算法复杂度:

简单的排序分析,总数据量不大于内存,使用 Redis 就能轻松完成了

大规模的人脸识别,图形渲染,自然是使用并行处理集群

流量统计,推荐引擎,趋势分析,用户行为分析,分布式索引等统计分析,机器学习等问题

则可以使用 MapReduce 算法改写。

还有一类 大数据OLAP分析,使用NoSQL, RDBMS并不是处理强项,

甚至使用Hive也是仅能解决数据量大小的问题,而不是彻底解决灵活维度分析的难点

所以还是需要使用 Hadoop MapReduce开发程序

但是在这里,Spark 的出现可以有效缓解以上“阵痛”。作者的这篇文章是写于 2011 年。

而 Spark 则出身于2009年, 但被世人所知是2012年,那年开始在 Bay Area 推广。

所以MapReduce不再是唯一的大数据 OLAP 选择

更别说之后,生态圈又出现了 Apache Kylin, Kyvos, AtScale 等等

Google 上(没有在百度搜过)输入 Big Data OLAP tool 会出现一堆

只有熟悉了整个大数据生态圈,才会挑合适的工具来完成适合你业务场景的平台架构

努力吧!

    原文作者:黄赟
    原文地址: https://zhuanlan.zhihu.com/p/34044958
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞