加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何选择最适合你的大数据平台,有这一篇就够了

发布时间:2018-09-18 15:49:14 所属栏目:大数据 来源:51CTO
导读:技术最终为业务服务,没必要一定要追求先进性,各个企业应根据自己的实际情况去选择自己的技术路径。 它不一定具有通用性,但从一定程度讲,这个架构可能比BAT的架构更适应大多数企业的情况,毕竟,大多数企业,数据没到那个份上,也不可能完全自研,商业
副标题[/!--empirenews.page--]

技术最终为业务服务,没必要一定要追求先进性,各个企业应根据自己的实际情况去选择自己的技术路径。

它不一定具有通用性,但从一定程度讲,这个架构可能比BAT的架构更适应大多数企业的情况,毕竟,大多数企业,数据没到那个份上,也不可能完全自研,商业和开源的结合可能更好一点,权当抛砖引玉。

大数据平台架构的层次划分没啥标准,以前笔者曾经做过大数据应用规划,也是非常纠结,因为应用的分类也是横纵交错,后来还是觉得体现一个“能用”原则,清晰且容易理解,能指导建设,这里将大数据平台划分为“五横一纵”。

具体见下图示例,这张图是比较经典的,也是妥协的结果,跟当前网上很多的大数据架构图都可以作一定的映射。

fIRnae6

何谓五横,基本还是根据数据的流向自底向上划分五层,跟传统的数据仓库其实很类似,数据类的系统,概念上还是相通的,分别为数据采集层、数据处理层、数据分析层、数据访问层及应用层。

同时,大数据平台架构跟传统数据仓库有一个不同,就是同一层次,为了满足不同的场景,会采用更多的技术组件,体现百花齐放的特点,这是一个难点。

数据采集层:既包括传统的ETL离线采集、也有实时采集、互联网爬虫解析等等。 数据处理层:根据数据处理场景要求不同,可以划分为HADOOP、MPP、流处理等等。 数据分析层:主要包含了分析引擎,比如数据挖掘、机器学习、 深度学习等。 数据访问层:主要是实现读写分离,将偏向应用的查询等能力与计算能力剥离,包括实时查询、多维查询、常规查询等应用场景。 数据应用层:根据企业的特点不同划分不同类别的应用,比如针对运营商,对内有精准营销、客服投诉、基站分析等,对外有基于位置的客流、基于标签的广告应用等等。 数据管理层:这是一纵,主要是实现数据的管理和运维,它横跨多层,实现统一管理。 1、数据采集层,这是基础。

离线批量采集,采用的是HADOOP,这个已经成为当前流线采集的主流引擎了,基于这个平台,需要部署数据采集应用或工具。

诸如BAT都是自己研发的产品,一般企业,可以采用商用版本,现在这类选择很多,比如华为BDI等等,很多企业技术实力有,但起步的时候往往对于应用场景的理解比较弱,细节做工很差,导致做出来的产品难以达到要求,比如缺乏统计功能等,跟BAT差距很大,传统企业去采购这类产品,要谨慎小心。

一个建议是,当采购产品的时候,除了技术先进性和指标外,更多的应该问问是版本啥时候上线的,是否在哪里成功部署,是否有足够多的客户,如果能做个测试就更好,否则,你就是小白鼠哦,这个坑踩了不少。

能做和做成产品是两个境界的事情,小的互联网企业当然也能做出对于自己好用的采集工具,但它很难抽象并打造出一个真正的产品,BAT自研其实形成了巨大的优势。

实时采集现在也成了大数据平台的标配,估计主流就是FLUME+KAFKA,然后结合流处理+内存数据库吧,这个技术肯定靠谱,但这类开源的东西好是好,但一旦出现问题往往解决周期往往比较长。

除了用FLUME,针对ORACLE数据库的表为了实现实时采集,也可以采用OGG/DSG等技术实现实时的日志采集,可以解决传统数据仓库抽全量表的负荷问题。

爬虫当前也逐渐成为很多企业的采集标配,因为互联网新增数据主要靠它,可以通过网页的解析获取大量的上网信息,什么舆情分析、网站排名啥的,建议每个企业都应该建立企业级的爬虫中心,如果它未在你的大数据平台规划内,可以考虑一下,能拿的数据都不拿,就没什么好说了。

企业级的爬虫中心的建设难度蛮大,因为不仅仅是需要爬虫,还需要建立网址和应用知识库,需要基于网页文本进行中文分词,倒排序及文本挖掘等,这一套下来,挑战很大,当前已经有不少开源组件了,比如solr、lucent、Nutch、ES等等,但要用好它,路漫漫其修远兮。

总得来讲,建设大数据采集平台非常不易,从客户的角度讲,至少要达到以下三个要求:

多样化数据采集能力:支持对表、文件、消息等多种数据的实时增量数据采集(使用flume、消息队列、OGG等技术)和批量数据分布式采集等能力(SQOOP、FTP VOER HDFS),比基于传统ETL性能有量级上的提升,这是根本。 可视化快速配置能力:提供图形化的开发和维护界面,支持图形化拖拽式开发,免代码编写,降低采集难度,每配置一个数据接口耗时很短,以降低人工成本。 统一调度管控能力:实现采集任务的统一调度,可支持Hadoop的多种技术组件(如 MapReduce、Spark 、HIVE)、关系型数据库存储过程、 shell脚本等,支持多种调度策略(时间/接口通知/手工)。 2、数据处理层,现在有个词叫混搭,的确是这样。

Hadoop的HIVE是传统数据仓库的一种分布式替代。应用在传统ETL中的数据的清洗、过滤、转化及直接汇总等场景很适合,数据量越大,它的性价比越高。但目前为止看,其支撑的数据分析场景也是有限的, 简单的离线的海量分析计算是它所擅长的,相对应的,复杂的关联交叉运算其速度很慢。

一定程度讲,比如企业客户统一视图宽表用HIVE做比较低效,因为涉及到多方数据的整合,但不是不可以做,最多慢点嘛,还是要讲究个平衡。

hadoop到了X000台集群的规模也撑不住了,当前很多企业的数据量应该会超过这个数量,除了像阿里等自身有研发能力的企业(比如ODPS),是否也要走向按照业务拆分Hadoop集群的道路?诸如浙江移动已经拆分了固网、移网、创新等多个hadoop集群。

Hadoop的SPARK的很适合机器学习的迭代,但能否大规模的应用于数据关联分析,能否一定程度替代MPP,还需要实践来验证。

MPP应该来说,是采用分布式架构对于传统数据仓库最好的替代,毕竟其实际上是变了种的关系型数据库,对于SQL提供完整支持,在HIVE做了转化分析后,数据仓库的融合建模用它来做性能绰绰有余,其性价比较传统DB2更好一点,比如经过实用,Gbase30-40台集群就能超过2台顶配的IBM 780。

MPP现在产品很多,很难做优劣判断,但一些实践结果可以说下,GBASE不错,公司很多系统已经在上面跑了,主要还是国产的,技术服务保障相对靠谱,ASTER还有待观望,自带一些算法库是有其一些优势,GreenPlum、Vertica没用过,不好说。

大数据平台的三驾马车,少不了流处理。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读