大数据系统体系建设规划包括哪些内容?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据系统体系建设规划包括哪些内容?相关的知识,希望对你有一定的参考价值。

(1)内部控制组织
组织是体系运行的基本保障。其中,是否设置专职的内控部门是企业界关注的焦点,通常的设置方式包括三种:
方式一:单独设置内控部门。
方式二:由内部审计部门牵头负责内控工作。
方式三:在内部控制建设集中期设立内部控制建设办公室,该办公室从各主要部门抽调人员专职从事内控体系建设工作,待体系正式运行时,办公室解散,人员归位到各经营管理部门,且牵头职能也归位至内审部门。
(2)内部环境的诊断与完善
(3)动态的风险评估
(4)控制活动的设计
内控手册分模块设计,每一模块一般包括五个方面的内容:
第一,管理目标。
第二,管理机构及职责。
第三,授权审批矩阵。
第四,控制活动要求。
第五,比照上述几部分,各经营管理部门应当重新梳理与完善业务流程,针对关键风险点强化控制措施,确保组织职责、授权审批、内控要求落实到经营流程中,保证管理目标的实现。
(5)信息与沟通贯穿始终
(6)内部监督手段。

参考技术A

最近有不少同学向老师咨询有关大数据分析职业发展的问题,由此可见,随着大数据分析的飞速发展,大数据分析职业也成为很多同学关注的目标。不要急,老师这就给大家介绍大数据分析的职业发展。

一、为什么要做大数据分析师

在通信、互联网、金融等这些行业每天产生巨大的数据量(长期更是积累了大量丰富的数据,比如客户交易数据等等),据说到2020年,全球每年产生的数据量达到3500万亿GB;海量的历史数据是否有价值,是否可以利用为领导决策提供参考依据?随着软件工具、数据库技术、各种硬件设备的飞快发展,使得我们分析海量数据成为可能。

而大数据分析也越来越受到领导层的重视,借助报表告诉用户什么已经发生了,借助OLAP和可视化工具等分析工具告诉用户为什么发生了,通过dashboard监控告诉用户现在在发生什么,通过预报告诉用户什么可能会发生。大数据分析会从海量数据中提取、挖掘对业务发展有价值的、潜在的知识,找出趋势,为决策层的提供有力依据,为产品或服务发展方向起到积极作用,有力推动企业内部的科学化、信息化管理。

二、入门和职业规划应该从两个角度考虑:领域和路线

领域是不少新人常忽略的要素,其实大数据分析不会脱离业务存在。你进入哪个行业,很大程度会决定你初期的技能树和技能点。譬如金融领域的风控模型、营销领域的生命周期、广告领域的点击率预估等,各有各的特色。

如果是一位应届生,不妨多了解自己感兴趣的领域,和专业相关是最好的,并且积累相关的经验,为面试做准备。

如果已经有一定行业履历,只是想要转岗大数据分析师,那么跨岗不跨行,避免跳到一个陌生的领域。

领域经验太宽泛,我给不了太多的指点,主要也就三点:1.自己感兴趣的,2.自己擅长的,3.有钱途的。从职场生涯看,成为某领域的数据专家,会是一个更好的筹码。

三、职业规划

对于大数据分析,有一句话说的非常好:spss/sql之类的软件、决策树、时间序列之类的方法,这些仅仅就都是个工具而已,最重要的是对业务的把握。没有正确的业务理解,再牛的理论,再牛的工具,都是白搭。做一名合格的大数据分析师,除了对数据需要有良好的敏感性之外,对相关业务的背景的深入了解,对客户或业务部门的需求的清晰认识。根据实际的业务发展情况识别哪些数据可用,哪些不适用,而不是孤立地在“真空环境”下进行分析。

而大数据分析路线大致可以划分成四大方向:数据分析,数据挖掘,数据产品,数据工程。

3.1数据分析/数据运营/商业分析

这是业务方向的数据分析师。绝大部分人,都是从这个岗位开始自己的数据之路,也是基数最大的岗位。因为基数大,所以这类岗位通常鱼龙混杂。有些虽然叫数据分析师,但是每天只需要和Excel打交道,完成leader布置的表格整理工作就行。混个几年,成为一位数据分析主管,给下面的新人继续布置Excel任务。

又有一种大数据分析师,岗位职责要求你掌握常用的机器学习算法,面试首先推导一个决策树或者逻辑回归。入职后也是各类代码,和分析打交道的情况不多。都叫大数据分析师,其实天差地别。这里更多指互联网行业,偏业务的数据分析师,一般属于运营部门。不少公司也称数据运营或者商业分析。

这类岗位的职位描述一般是:

1)负责和支撑各部门相关的报表;

2)建立和优化指标体系;

3)监控数据的波动和异常,找出问题;

4)优化和驱动业务,推动数据化运营;

5)找出可增长的市场或产品优化空间;

6)输出专题分析报告;

实际情况是,不少业务端的大数据分析师,主要工作只做第一点。别管它用汇总、分析、数据支持什么修饰词,基本是跑SQL,做报表。硬生生活成了业务端的表哥。这是很常见的情况,也是入门新人的第一个坑。因为从头到尾,这类分析师,都没有解决问题。业务部门往往更关心,某个指标为什么下跌或者上升。产品的用户是什么样的?怎么能更好的完成自己的KPI。

以活跃指标的下跌举例:

活跃指标下跌了多少?是属于合理的数据波动,还是突发式?

什么时候开始的下跌?

是整体的活跃用户下跌,还是部分用户?

为什么下跌?是产品版本,还是运营失误?

怎么解决下跌的问题

这是一套标准的解决思维。分别对应what、when、who、why、how,每一部分都不是三言两语可以解释清楚。不要看它简单,例如你通过多维分析,发现某个地区的活跃下跌了,不要急着把它作为分析的结论,这是不合格的数据分析。某地区的活跃下跌,只是现象,不是原因,把它作为结论提交,肯定会被骂的。

你要解决的是,为什么这个地区的活跃下跌了。是该地渠道,是该地竞争对手,是该地市场环境?这些问题都是细化深入的范畴。并且,它们要能以量化解释,而不是我认为。做好了这点,才是一个真正的业务端的数据分析师。

当然,这一点看的是leader。leader能否带你进入业务分析的大门,决定你将来是不是成为一个表哥。新人切记切记。

解决问题是一方面工作,另外一方面,大数据分析师的职责是将业务数据体系化,建立一套指标框架。活跃下跌的问题,本质上也是指标问题。什么时候开始下跌,哪部分下跌,都能转化成对应指标,如日活跃用户数,新老用户活跃数,地区活跃数。

你不能衡量它,就无法增长它,指的就是指标体系。指标体系可以是业务部门建立,但数据分析师也挺合适。一方面他们比数据挖掘这类技术岗位更贴合业务,一方面不像业务岗位对数据抓瞎。两者结合,这岗位也能称为数据运营。

指标体系如果工程化自动化,也就是BI,所以大数据分析师可以算半个BI分析师,这里不包括BI报表开发。BI如果采购第三方,数据分析师负责BI没问题,如果自有开发,那么BI岗技术的色彩更浓厚。

数据分析思维和业务的理解,是分析师赖以生存的技能。很多时候,工具是锦上添花的作用。掌握Excel+SQL/hive,了解描述统计学,知道常见的可视化表达,足够完成大部分任务。机器学习这类能力,对此类大数据分析师不是必须的,Python也一样,只是加分项。毕竟为什么下跌,你无法用数据挖掘解答。

大数据分析师是一个基础岗位,如果专精于业务,更适合往管理端发展,单纯的工具和技巧很难拉开差距。数据分析的管理岗,比较常见的有数据运营经理/总监,数据分析经理等,相对应的能力是能建立指标体系,并且解决日常的各类「为什么」问题。

商业/市场分析是另外一个方向,更多见于传统行业。你要开一家超市,你得考虑哪里开,这就要考虑居民密度,居民消费能力,竞争对手的多寡,步行交通距离,开车交通距离等。这些数据是宏观的大指标,往往靠搜索和调研完成,这是和互联网数据分析师最大的差异。

若往其他分支发展,比如数据挖掘工程师,则要继续掌握Python和机器学习等。从业务型发展上来的好处是接地气,具备商业洞察力(天天搞报表,怎么可能不熟),这点是直接做数据挖掘,或者程序员转岗,所不具备的。

新人,比较普适的发展路线是先成为一位数据分析师。积累相关的经验,在一两年后,决定往后的发展,是数据挖掘,还是专精数据分析成为管理岗。

3.2数据挖掘/算法专家

这是技术向的数据岗,有些归类在研发部门,有些则单独成立数据部门。数据挖掘工程师要求更高的统计学能力、数理能力以及编程技巧。从概念上说,数据挖掘Data mining是一种方式,机器学习Machine Learning是一门方法/学科。机器学习主要是有监督和无监督学习,有监督又可划分成回归和分类,它们是从过去的历史数据中学习到一个模型,模型可以针对特定问题求解。数据挖掘的范围则大得多,即可以通过机器学习,而能借助其他算法。比如协同过滤、关联规则、PageRank等,它们是数据挖掘的经典算法,但不属于机器学习,所以在机器学习的书籍上,你是看不到的。实际的应用场景中,如外卖行业,如何寻找骑手效率最大化的最优路径,同样属于最优化,也是数据挖掘的工作范畴。数据挖掘工程师,除了掌握算法,同样需要编程能力去实现,不论R、Python、Scala/Java,至少掌握一种。模型的实施,往往也要求Hadoop/Spark的工程实践经验,精通SQL/Hive是必须的。

常见数据挖掘项目的闭环如下:

1)定义问题

2)数据抽取

3)数据清洗

4)特征选取/特征工程

5)数据模型

6)数据验证

7)迭代优化

单看环节,数据挖掘对分析能力没有业务型那么高。这不代表业务不重要,尤其在特征选取方面,对业务的理解很大程度会影响特征怎么选取,进而影响模型质量。用户流失是一个经典的考题,如何选取合适的特征,预测用户会否流失,能够考察对业务是否深刻洞察。

数据挖掘的业务领域一样可以细分。金融行业的信用模型和风控模型/反欺诈模型、广告模型的点击预估模型、电商行业的推荐系统和用户画像系统。从需求提出到落地,数据挖掘工程师除了全程跟进也要熟悉业务。因为要求高,所以数据挖掘的平均薪资高于数据分析师。

一个分工明确的团队,数据分析师负责将业务需求抽象成一个具体的数据假设或者模型。比如,运营希望减少用户流失,那么设立一个流失指标,现在需要预测用户流失率的模型。模型可以是数据分析师完成,也能是数据挖掘工程师。最终由数据挖掘团队部署到线上。在一些公司,高级数据分析师会等价于数据挖掘工程师(其实行业内,对Title并没有严格的标准),只是工程能力可以稍弱,模型部署由专门的工程团队完成。

数据挖掘工程师,往后发展,称为算法专家。后者对理论要求更严苛,几乎都要阅读国外的前沿论文。方向不局限于简单的分类或者回归,还包括图像识别、自然语言处理、智能量化投顾这种复合领域。这里开始会对从业者的学校和学历提出要求,名校+硕士无疑是一个大优势,也有很多人直接做数据挖掘。深度学习则更前沿,它由神经网络发展而来,是机器学习的一个子集。因为各类框架开枝散叶,诸多模型百花齐放,也可以算一个全新的分支。除了要求熟悉TensorFlow, Caffe, MXNet等深度学习框架,对模型的应用和调参也是必备的,后者往往是划分普通人和大牛的天堑。算法专家和深度学习专家,薪资level会更高一级,一般对应于业务型的数据运营/分析总监。数据科学家是上述岗位的最终形态之一,要么理论能力非常强,往往担任研究院的一把手。要么工程能力突出,上述的系统都能完成平台化的部署。

3.3数据产品经理

这个岗位比较新兴,它有两种理解,一种是具备强数据分析能力的PM,一种是公司数据产品的规划者。前者,以数据导向优化和改进产品。在产品强势的公司,数据分析也会划归到产品部门,甚至运营也属于产品部。这类产品经理有更多的机会接触业务,属于顺便把分析师的活也干了,一专多能的典型。他们会运用不同的数据源,对用户的行为特征分析和挖掘,达到改进产品。最典型的场景就是AB测试。大到页面布局、路径规划、小到按钮的颜色和样式,均可以通过数据指标评估。俗话说,再优秀的产品经理也跑不过一半AB测试。此类数据产品经理,更多是注重数据分析能力,擅长用分析进行决策。数据是能力的一部分。后者,是真正意义上的数据产品经理。在公司迈大迈强后,数据量与日俱增,此时会有不少数据相关的产品项目:包括大数据平台、埋点采集系统、BI、推荐系统、广告平台等。这些当然也是产品,自然需要提炼需求、设计、规划、项目排期,乃至落地。

我们不妨看几个数据产品经理要求:

1)负责大数据产品的设计,输出需求文档、产品原型;

2)负责推荐算法的产品策略,完成相关推荐及个性化推荐产品的需求分析;

3)负责分析和挖掘用户消费内容的行为数据,为改进算法策略提供依据;

4)负责客户端数据需求的对接,制定相关埋点规范及口径,相关业务指标验证;

5)报表展示工具的落地和应用;

和C端注重用户体验不同,数据产品,更注重整体的分析能力和逻辑。除了产品经理最基础的Axure、Visio、MindManager等工具。往往还需要很多技术型的能力。比如了解BI/DW原理和实施、了解常用的推荐算法、了解机器学习模型等。这也很容易理解,C端要求你了解用户需求,而在数据端,主要用户就是数据。这当然不是说,用户体验不重要,拿推荐算法来说,除了满足用户最基本的感兴趣,也要考虑时效性,考虑新兴趣的挖掘,考虑无数据时的冷启动问题…这些一样是用户体验,只是解决方案也得从数据出发。再多思考一步,模型是离线还是实时,实时怎么实现它?技术细则不用多考虑,但你要知道会有这些坑。后端的数据产品,如报表,用户往往是你隔壁工位的小秦或小路,设计得丑一点不要紧,要是数据指标口径不统一,那才会分分钟骂街。虽然数据PM需要熟悉各类数据模型、指标、数据挖掘和数据工程的实现,但是聚焦点是把它作为一个项目去实现,故而不用精通。

数据产品经理是一个比较新兴的岗位,所以有丰富经验的从业者并不多,我个人认为,还是存在比较大的职业缺口。当然也有其他问题,一是因为新兴,部门负责人本身也没有想好他们能干什么,不少数据PM还从事表哥的工作。二是数据产品本身可借鉴的经验不多,像APP产品,可以下载体验,总归有一个学习的过程。然而用户画像、BI、算法策略,都是其他公司的内部机密,无从参考,我就遇到不少对用户画像实现非常感兴趣的数据PM。从职业发展上看,数据分析师做数据产品经理更合适。普通的产品经理,对前端、后端的技术栈尚未熟悉,何况日新月异的数据栈。这个岗位,适合对数据特别感兴趣,但是数理天赋不高的职场人,那么以沟通、项目管理和需求规划为能力,也不错。

3.4数据工程师

数据工程师其实更偏技术,从职业道路上看,程序员走这条路更开阔。在很多中小型的公司,一方面数据是无序的、缺失的、原始的,另外一方面各种业务报表又嗷嗷待哺。没办法,分析师只能自己撸起袖子,一个人当三个人用。兼做数据清洗+ETL+BI。经历过的大概都懂,数据分析踏上数据工程的不归路如下:

1)每天都要从五六张表上join,那么不妨加工成一张中间表;

2)ETL的依赖关系越来越复杂,尝试用kettle/airflow等框架搞定,弄个DAG美滋滋;

3)运营部门的周报次次都要这几个指标,看看能否做一个自动化BI;

4)数据量逐日增多,最近T+1的日报需要几个小时完成,研究下查询语句的优化;

5)查询语句的优化空间也不大了,开始迁移到Hadoop/Spark分布式平台,新技术栈的学习;

6)新平台,原有的工具也不管用了,某大牛说apache上有工具能解决这个问题,于是阅读文档;

7)公司部署了私有化的埋点采集,数据缺失比较厉害,业务部门天天骂娘,继续埋Flume/Kafka的坑;

8)等等…

如果分析师在技术方面的灵性不错,那么技能点会往技术栈方向迁移。从最初的SQL,到了解Hadoop集群、了解presto/impala/spark、了解ELK、了解分布式存储和NoSQL……这也是一个不错的发展方向,因为数据挖掘需要了解算法/模型,理论知识要求过高,不少硕士和博士还过来抢饭碗,自己不擅长容易遇到天花板。选择更底层的工程实现和架构,也是出路,薪资也不会低于数据挖掘/算法专家。部分归属到技术部的数据分析师,虽然Title叫数据分析(其实应该叫数据分析开发工程师),很多工作也是围绕ETL/DW/BI进行,那么这就是标准的数据工程路线。部分公司会将机器学习模型的部署和实现交给数据工程团队,这要求数据工程师熟悉sparkMLlib、Mahout此类框架。数据工程师,可以从数据分析师的SQL技能,往数据的底层收集、存储、计算、运维拓展。往后发展则是数据总监、或者数据架构师。因为数据分析出身,与纯技术栈的程序员比,思考会更贴合业务,比如指标背后的数据模型,但是技术底子的薄弱需要弥补。另外,DBA、BI这些传统的数据库从业者,也是能按这条路线进阶,或者选择数据产品经理方向。

3.5职业规划总结

以上是大数据分析的发展方向,它们互有关联,如果从整个架构来看,我们可以将其划分为数据收集—数据加工—数据运营—数据触达。数据收集负责收集各种各样的原始数据,比如用户何时何地做了什么事情。它依赖于埋点采集系统,而埋点采集,需要收集什么类型数据,往往由数据产品经理确定规范(还是看公司,数据运营和数据分析师也能负责)。收集上来的数据需要存储,往往因为高吞吐量,需要保证数据和日志的稳定性,会采用Flume+Kafka,如果有实时统计要求,也得考虑流数据。这块则是数据工程的范畴,包括原始数据的再加工,数据清洗,都是专门的数据团队完成。当获得数据后,首先第一点是讲各种明细数据加工业务指标,没有指标不成方圆,这里由数据分析师定义的。有了指标,配合各种数据产品输出,如用户画像用户标签、BI报表,这些数据产品都由数据PM统筹排期…另外一方面,数据挖掘工程师和算法专家则凭各种数据建立模型,进行实时或离线运算。

模型可能会预测用户会不会购买某个商品,可能是做出一系列的推荐,可能是判断用户属于哪个类型,不一而足。更上面一层是业务相关,数据分析师会监控和分析BI上指标的波动、数据挖掘工程是通过用户反馈数据,衡量算法的优劣、数据PM按AB测试的结果改进产品。数据工程师保证系统的稳定。所有层次一环扣一环,每个岗位在其中都发挥特有的作用。数据工程偏底层技术,数据分析偏上层业务,数据挖掘和数据产品处于中间形态。不同公司虽然业务形态不一致,架构会有差异,但是职责不会偏差太大。这也是数据分析为什么会有四个方向。

能 力:

1、 一定要懂点战略、才能结合商业;

2、 一定要漂亮的presentation、才能buying;

3、一定要有global view、才能打单;

4、 一定要懂业务、才能结合市场;

5、 一定要专几种工具、才能干活;

6、 一定要学好、才能有效率;

7、 一定要有强悍理论基础、才能入门;

8、 一定要努力、 才能赚钱;最重要的:

9、 一定要务实、才有reputation;

目标:

1-做过多少个项目?

2-业务背景有哪些,是否跨行业?

3-做过多少种类型的模型?做了多少个模型?

4-基于模型做过多少次完整的marketing闭环?

相关推荐:

《大数据分析师工作内容》、《转行大数据分析师后悔了》、《零基础学大数据分析现实吗》、《大数据分析要学什么》、《大数据分析方法》、《浅析大数据分析技术》、《大数据分析流程是什么》、《大数据分析十八般工具》、《大数据分析12大就业方向》、《学大数据分析培训多少钱》

大数据课程基础内容都应该包含哪些

数学,英语!
基础阶段:Linux、Docker、KVM、MySQL基础、Oracle基础、MongoDB、redis。
hadoop mapreduce hadoop,HDFS工作原理,YARN介绍及组件介绍。
大数据存储阶段:hbase、hive、sqoop。
大数据架构设计阶段:Flume分布式、Zookeeper、Kafka。
大数据实时计算阶段:Mahout、Spark、storm。
大数据数据采集阶段:Python、Scala。
数据分析:python,R
大数据商业实战阶段:实操企业大数据处理业务场景,分析需求、解决方案实施,综合技术实战应用。
参考技术A

  Sqoop:(发音:skup)作为一款开源的离线数据传输工具,主要用于Hadoop(Hive) 与传统数据库(MySql,PostgreSQL)间的数据传递。它可以将一个关系数据库中数据导入Hadoop的HDFS中,也可以将HDFS中的数据导入关系型数据库中。

  Flume:实时数据采集的一个开源框架,它是Cloudera提供的一个高可用用的、高可靠、分布式的海量日志采集、聚合和传输的系统。目前已经是Apache的顶级子项目。使用Flume可以收集诸如日志、时间等数据并将这些数据集中存储起来供下游使用(尤其是数据流框架,例如Storm)。和Flume类似的另一个框架是Scribe(FaceBook开源的日志收集系统,它为日志的分布式收集、统一处理提供一个可扩展的、高容错的简单方案)大数据分析培训课程内容有哪些 

  Kafka:通常来说Flume采集数据的速度和下游处理的速度通常不同步,因此实时平台架构都会用一个消息中间件来缓冲,而这方面最为流行和应用最为广泛的无疑是Kafka。它是由LinkedIn开发的一个分布式消息系统,以其可以水平扩展和高吞吐率而被广泛使用。目前主流的开源分布式处理系统(如Storm和Spark等)都支持与Kafka 集成。

  Kafka是一个基于分布式的消息发布-订阅系统,特点是速度快、可扩展且持久。与其他消息发布-订阅系统类似,Kafka可在主题中保存消息的信息。生产者向主题写入数据,消费者从主题中读取数据。浅析大数据分析技术 

  作为一个分布式的、分区的、低延迟的、冗余的日志提交服务。和Kafka类似消息中间件开源产品还包括RabbiMQ、ActiveMQ、ZeroMQ等。

  MapReduce:MapReduce是Google公司的核心计算模型,它将运行于大规模集群上的复杂并行计算过程高度抽象为两个函数:map和reduce。MapReduce最伟大之处在于其将处理大数据的能力赋予了普通开发人员,以至于普通开发人员即使不会任何的分布式编程知识,也能将自己的程序运行在分布式系统上处理海量数据。

  Hive:MapReduce将处理大数据的能力赋予了普通开发人员,而Hive进一步将处理和分析大数据的能力赋予了实际的数据使用人员(数据开发工程师、数据分析师、算法工程师、和业务分析人员)。大数据分析培训课程大纲 

  Hive是由Facebook开发并贡献给Hadoop开源社区的,是一个建立在Hadoop体系结构上的一层SQL抽象。Hive提供了一些对Hadoop文件中数据集进行处理、查询、分析的工具。它支持类似于传统RDBMS的SQL语言的查询语言,一帮助那些熟悉SQL的用户处理和查询Hodoop在的数据,该查询语言称为Hive SQL。Hive SQL实际上先被SQL解析器解析,然后被Hive框架解析成一个MapReduce可执行计划,并按照该计划生产MapReduce任务后交给Hadoop集群处理。

  Spark:尽管MapReduce和Hive能完成海量数据的大多数批处理工作,并且在打数据时代称为企业大数据处理的首选技术,但是其数据查询的延迟一直被诟病,而且也非常不适合迭代计算和DAG(有限无环图)计算。由于Spark具有可伸缩、基于内存计算能特点,且可以直接读写Hadoop上任何格式的数据,较好地满足了数据即时查询和迭代分析的需求,因此变得越来越流行。

  Spark是UC Berkeley AMP Lab(加州大学伯克利分校的 AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,它拥有Hadoop MapReduce所具有的优点,但不同MapReduce的是,Job中间输出结果可以保存在内存中,从而不需要再读写HDFS ,因此能更好适用于数据挖掘和机器学习等需要迭代的MapReduce算法。

  Spark也提供类Live的SQL接口,即Spark SQL,来方便数据人员处理和分析数据。

  Spark还有用于处理实时数据的流计算框架Spark Streaming,其基本原理是将实时流数据分成小的时间片段(秒或几百毫秒),以类似Spark离线批处理的方式来处理这小部分数据。

  Storm:MapReduce、Hive和Spark是离线和准实时数据处理的主要工具,而Storm是实时处理数据的。

  Storm是Twitter开源的一个类似于Hadoop的实时数据处理框架。Storm对于实时计算的意义相当于Hadoop对于批处理的意义。Hadoop提供了Map和Reduce原语,使对数据进行批处理变得非常简单和优美。同样,Storm也对数据的实时计算提供了简单的Spout和Bolt原语。Storm集群表面上和Hadoop集群非常像,但是在Hadoop上面运行的是MapReduce的Job,而在Storm上面运行的是Topology(拓扑)。

  Storm拓扑任务和Hadoop MapReduce任务一个非常关键的区别在于:1个MapReduce Job最终会结束,而一个Topology永远运行(除非显示的杀掉它),所以实际上Storm等实时任务的资源使用相比离线MapReduce任务等要大很多,因为离线任务运行完就释放掉所使用的计算、内存等资源,而Storm等实时任务必须一直占有直到被显式的杀掉。Storm具有低延迟、分布式、可扩展、高容错等特性,可以保证消息不丢失,目前Storm, 类Storm或基于Storm抽象的框架技术是实时处理、流处理领域主要采用的技术。

  Flink:在数据处理领域,批处理任务和实时流计算任务一般被认为是两种不同的任务,一个数据项目一般会被设计为只能处理其中一种任务,例如Storm只支持流处理任务,而MapReduce, Hive只支持批处理任务。

  Apache Flink是一个同时面向分布式实时流处理和批量数据处理的开源数据平台,它能基于同一个Flink运行时(Flink Runtime),提供支持流处理和批处理两种类型应用的功能。Flink在实现流处理和批处理时,与传统的一些方案完全不同,它从另一个视角看待流处理和批处理,将二者统一起来。Flink完全支持流处理,批处理被作为一种特殊的流处理,只是它的数据流被定义为有界的而已。基于同一个Flink运行时,Flink分别提供了流处理和批处理API,而这两种API也是实现上层面向流处理、批处理类型应用框架的基础。大数据分析要学什么 

  Beam:Google开源的Beam在Flink基础上更进了一步,不但希望统一批处理和流处理,而且希望统一大数据处理范式和标准。Apache Beam项目重点在于数据处理的的编程范式和接口定义,并不涉及具体执行引擎的实现。Apache Beam希望基于Beam开发的数据处理程序可以执行在任意的分布式计算引擎上。

  Apache Beam主要由Beam SDK和Beam Runner组成,Beam SDK定义了开发分布式数据处理任务业务逻辑的API接口,生成的分布式数据处理任务Pipeline交给具体的Beam Runner执行引擎。Apache Flink目前支持的API是由Java语言实现的,它支持的底层执行引擎包括Apache Flink、Apache Spark和Google Cloud Flatform。


相关推荐:

《大数据分析方法》、《转行大数据分析师后悔了》、《大数据分析师工作内容》、《学大数据分析培训多少钱》、《大数据分析培训课程大纲》、《大数据分析培训课程内容有哪些》、《大数据分析方法》、《大数据分析十八般工具》

以上是关于大数据系统体系建设规划包括哪些内容?的主要内容,如果未能解决你的问题,请参考以下文章

大数据系统体系建设规划包括哪些内容?

大数据培训的内容是啥都有哪些方式

大数据生态技术体系都有哪些?

大数据培训课程都包含哪些内容

大数据技术包括哪些

在部署数据中心时,需要规划以下哪些安全解决方案