关于大数据这些工具框架
接触大数据的这两年来,总是被各种琳琅满目的框架工具目不暇接。在这个大数据这个生态圈里,具体的框架工具都有自己的应用场景或不足之处,用来解决特定的问题。技术选型的时候要结合业务特点。没有包治百病,一劳永逸的方案。
1.Hadoop,大数据的鼻祖和基础。解决存储(HDFS)和计算(MapReduce)。数据运行在磁盘上决定适合批处理任务,实时性低的场景。NameNode和DataNode,主从模式。
2.Storm,数据运行在内存中,适合流处理,实时性高场景,缺点不灵活,预先知道统计方式。Spout和Bolt,主从模式。
3.Spark,解决Hadoop运行速度问题,数据运行在内存中。但实时性上还是不如Storm。内存管理依赖JVM。趋势是根据Spark特点独自管理内存。
4.HBase适合数据仓库,实时性不好。HMaster和Regionserver。主从模式。
5.Cassendra适合实时性要求比较高的场景,去中心化模式。
6.Mongo文档型KV存储,数据量规模“中等”,数据以Bson格式类似Json格式
7.Hive解决MR难于开发,以sql的方式直观简单易写易改的特点,不过速度慢
8.Pig是接近脚本方式去描述MapReduce
9.Phenix,Impala,Presto,Drill解决NoSQl数据库交互查询场景,牺牲稳定性通用性获取速度,底层HDFS,上面跑MapReduce/Tez/Spark,再上面跑Hive,Pig。或者HDFS上直接跑Impala,Drill,Presto。这解决了中低速数据处理的要求
10.Mahout是分布式机器学习库
11.Protobuf是数据交换的编码和库
12.ZooKeeper是高一致性的分布存取协同系统
13.Flume日志处理工具