引用:
https://www.jianshu.com/p/c688e47dae1d
https://blog.csdn.net/u013710265/article/details/72580238
计算层少了当前的比较主流的: impla和clickhouse,其他相对来说还比较齐备
从另外角度来看大数据技术栈:
存储:包括文件系统和存储引擎
文件系统方面,除了传统的行式存储,还有新的列式存储格式如ORC,Parquet,以及一些新型的用SSD或者内存加速的存储,如Transwarp Holodesk以及Tachyon。此外,还有Ceph等新型文件系统。
在文件系统之上,各种存储引擎也迅速发展,如NoSQL类的HBase,MongoDB,CouchDB,它们在一些大数据场景下表现的非常出色(如高并发,文档存储等),而放弃另外一些特性,如事务和SQL支持;不过近年也涌现出一些新的NoSQL存储引擎,重新拾起来SQL和事务,如VoltDB,CockroachDB,以及Transwarp Hyperbase。
计算引擎:包括批处理疫情,交互分析引擎,流式计算引擎,迭代式引擎
计算引擎的发展更是日新月异,可以按照批处理/交互式/流式/迭代式做个大体的分类。
批处理引擎在大数据领域发展的最快,MapReduce,Spark,Tez等已在大规模商用;
交互式分析引擎的代表有Dremel,Presto,Impala等,目前还处于未能完全证明商用能力,但是在快速发展并且验证的阶段;
流式引擎这两年发展很快,Spark Streaming/Flink/Storm/Samza是其中的代表;
迭代式引擎有Graphx,Pregel,以及Transwarp Graphene等。
数据分析:主要包括数据分析工具和数据挖掘相关工具
数据分析领域,各种工具更是层出纷纭,如Hive,Mahout,MLlib,R,Kylin等。
数据集成和调用工具:包括日志采集和任务调度
数据集成和调度工具也有很多的开源项目涌现出来,如Oozie,Azkaban,Crunch,Sqoop,Flume,Kafka等等。