阅读更多
新年,公司开始建设大数据中心项目,因此架构组需要对相关技术进行研究。原先对大数据相关技术已有耳闻,但是实际项目没用,很少去深入关注。这里先把一些技术的理解记一下:
1.hadoop 我的理解是一个大数据处理框架,包括了hdfs, hbase, yarn, hive, zookeeper等一堆技术,其中的处理算法是MapReduce.
2.hdfs 是海量分布式文件系统,一般hadoop批量任务都需要依赖hdfs上的资源文件。
3.hbase 一种KV数据库,跟redis相似,hbase以磁盘存储为主,redis以内存为主。
4.yarn 任务调度管理
5.mapreduce 是批处理算法,先把资源分成一个个map处理,然后通过reduce聚合汇总,实现集群处理。
6.hive mapreduce相当于低级的接口,比较难用.hive是让用户能够通过类似sql脚本,来调用mapreduce,相当于高级接口。如果做个比喻, mapreduce相当于汇编语言, hive相当于c语言。
7.zookeeper 任务协调系统
8.spark 是一个比较先进的大数据处理框架,因为hadoop的mapreduce性能比较慢,spark可以利用更少的资源实现更快的速度。
9.DAG 有向非闭合图,就是流程没有循环吧
10.RDD 弹性数据集,只能执行有限操作如join,group等的只读内存记录集。
11.shark 因为hive原先只支持hadoop, 所以shark是为了hive on spark。后来hive支持spark后停更。
12.hive on spark 支持spark的hive.
13.sparksql 因为shark是基于hive上改的,保留了大量hive的代码,在shark停更之后,重新开发了sparksql.
14.spark streaming 是spark的流处理框架。因为hadoop只能跑批,spark streaming则能实时计算,例如需要对一些业务进行实时预警。能够与spark技术栈无缝集成,其实是将实时数据按时间分割跑批,所以实时性只能达到秒级。要是早达到毫秒级,需要用其他技术。
15.storm 是大数据流处理框架。相比spark,实时性高,能达到毫秒级,吞吐量小,需要一条一条处理。
16.mesos 与yarn类似,也是资源调度管理器。