大数据框架及组件已经很流行:
1、Hadoop:是一种分布式数据和计算的框架
Hadoop(离线分析):批量处理大数据,但数据处理实时性经常是它的弱点
介绍:利用集群的威力进行高速运算和存储,其框架最核心的设计就是HDFS和MapReduce,HDFS为海量的数据提供了存储,MapReduce则为海量的数据提供了计算。
特点:高可用性(按位处理)、高扩展性、高效性、高容错性、低成本
2、Spark
Spark是一种安全的、经正式定义的编程语言,被设计用来支持一些安全或商业集成为关键因素的应用软件的设计。
运行用户定义的main函数,在集群上执行各种并发操作和计算Spark提供的最主要的抽象
- elasticSearch
它提供了一个分布式多用户能力的全文搜索引擎,能很方便地使大量数据具有搜索、分析和探索的能力:搜索服务器
4、storm:
分布式流处理引擎Storm和Hadoop的比较:(相同点)分布式计算框架、编程模型相似不同点:Storm用于实时计算,Hadoop用于离线计算;Storm处理的数据保存在内存中,且源源不断,Hadoop处理的数据保存在HDFS上,成批处理;Storm的数据通过网络传输进来,Hadoop的数据来自HDFS。用户不用关注整个流程的组织协调,具体业务处理逻辑即可,底层的Worker是实际的运行者。
5、Hive
数据仓库工具将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。Hive底层是MapReduce引擎,查询速度比Impala慢,Hive 定义了简单的类 SQL 查询语言,称为 HQL,Hive 没有专门的数据格式。
Hive 不支持对数据的改写和添加,只做简单的查询,如HQL。
6、Impala
新型查询系统,最大卖点就是它的快速,比hive查询速度快。
7、Zookeeper
分布式锁设施(类似于provision中间件,负责监控下游(Supervisor)的状态和分发任务任务分发(负载均衡))
适用:高吞吐的大型分布式系统提供一个高性能、高可用、且具有严格顺序访问控制能力的分布式协调服务
优点及特征:1.简单的数据模型,树形结构来存储数据2.构建集群,集群高可用性3.顺序访问4.(集群)高可用性
8、Redis
Redis 是一个高性能的key-value数据库,支持存储的value类型相对更多,
包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)
9、Hbase
HBase基于Hdfs作为默认推荐的存储引擎,海量级别存储时使用,HBase中核心的组件就是这个RegionServer,它是由WAL和Region组成WAL:日志备份Region:数据存储
HBase适合海量数据、基于列的存储,流式(实时)计算框架。
10、Apache Flink
Java和Scala编写的分布式流数据流引擎Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。
11、Druid
是一个为大型冷数据集上实时探索查询而设计的开源数据分析和存储系统,提供极具成本效益并且永远在线的。Druid提供了以交互方式访问数据的能力,并权衡了查询的灵活性和性能而采取了特殊的存储格式。
Druid 是一种时序数据库,按照一定的时间粒度对数据进行聚合,以加快分析查询。
特点:数据吞吐量大/支持流式数据摄入和实时/查询灵活且快/社区支持力度大
- Airflow
类似flink特征流水线配置一样,多了配置定时任务功能,可编程,调度和监控的工作流平台。
13、YARN(MR2 Inluded)
通用的资源分配框架,它不仅支持MapReduce计算框架,同时也支持流式计算框架,迭代计算框架,MPI等