大数据的存储常用HDFS(大数据存储的事实标准),计算分析用Spark(一站式大数据计算的事实标准),集群中的资源管理用Yarn或mesos。
本文主要内容如题,适合有一定基础的人查看(关于大数据big data是什么,由何而来,指导思想、3V~5V特性,环境搭建、挖掘分析及编程等,本文不涉及),,有些描述可能不是很准确,欢迎大家一起讨论交流。
目录
Apache Spark(依托内存计算,大数据计算的准事实标准,版本2.x)
3. Apache Hadoop和Apache Spark在BDAS中的演变
1. 大数据计算的分类
大数据计算主要分为三类:
-
Batch(离线分析)
- 通常用于对数据规模庞大的历史数据进行挖掘分析
- 数据处理比较复杂,通常为即席查询/实时分析做数据预处理,高延迟
- 应用举例:进行异常检测或趋势分析等
-
Interactive(交互查询/即席查询)
- 通常用于对整理后的、结构化的历史数据进行交互式查询
- 数据结构较规范,低延迟
- 应用举例:查看热门板块、热门文章、精准营销(推荐)等
-
Streaming(流式分析/实时分析)
- 通常用于对实时数据(live data)进行分析
- 处理的数据规模相对较小,低延迟
- 应用举例:网络安全监测、交通状况监测、伪基站定位跟踪等。
实际应用中选用何种计算方式,还是将多种计算方式组合使用,这是需求与时间、质量和成本之间的博弈。
2. 主流开源计算框架
本文不讨论商业化的CDH等。
2.1 概览
当前,大数据计算主流开源Project有两个,都是Apache的。
Hadoop的作者Doug cutting就职Yahoo期间开发了Hadoop项目。2005年秋天,作为Lucene的子项目Nutch的一部分正式引入Apache基金会,次年3月MR(MapReduce)和NDFS(Nutch Distributed File System )被纳入Hadoop项目,所以我们通常说Hadoop是2006年开源发布的。Apache Hadoop官网上,最新可下载版本为3.1.2(2019年2月发布),最老的为0.14.1(2007年9月发布)。
Spark是美国加州大学伯克利分校的AMP实验室(主要创始人lester和Matei)开发的通用的大数据处理框架,2009伯克利大学开始编写最初的源代码,次年开放的源代码(还没有形成),2012年2月发布了0.6.0版本,13年进入Apache孵化器项目,经过8个月成为了Apache的顶级项目,这种发展速度也从一定程度上体现了Spark的潜力。Apache Spark官网上,