大数据学习笔记(一)【原创】
新年,公司开始建设大数据中心项目,因此架构组需要对相关技术进行研究。原先对大数据相关技术已有耳闻,但是实际项目没用,很少去深入关注。这里先把一些技术的理解记一下:
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.hivemapreduce相当于低级的接口,比较难用.hive是让用户能够通过类似sql脚本,来调用mapreduce,相当于高级接口。如果做个比喻,mapreduce相当于汇编语言,hive相当于c语言。
7.zookeeper任务协调系统
8.spark是一个比较先进的大数据处理框架,因为hadoop的mapreduce性能比较慢,spark可以利用更少的资源实现更快的速度。
9.DAG有向非闭合图,就是流程没有循环吧
10.RDD弹性数据集,只能执行有限操作如join,group等的只读内存记录集。
11.shark因为hive原先只支持hadoop,所以shark是为了hiveonspark。后来hive支持spark后停更。
12.hiveonspark支持spark的hive.
13.sparksql因为shark是基于hive上改的,保留了大量hive的代码,在shark停更之后,重新开发了sparksql.
14.sparkstreaming是spark的流处理框架。因为hadoop只能跑批,sparkstreaming则能实时计算,例如需要对一些业务进行实时预警。能够与spark技术栈无缝集成,其实是将实时数据按时间分割跑批,所以实时性只能达到秒级。要是早达到毫秒级,需要用其他技术。
15.storm是大数据流处理框架。相比spark,实时性高,能达到毫秒级,吞吐量小,需要一条一条处理。
16.mesos与yarn类似,也是资源调度管理器。