1、hbase
Hbase是一个高可靠、高性能、面向列、可伸缩的分布式存储系统,利用Hbase技术可在廉价的PC Server上搭建大规模结构化存储集群。KV结构数据库。
再谈Hbase八大应用场景 - Hbase技术社区 - 博客园
2、hive
本质上讲,hive是一个SQL解析引擎。Hive可以把SQL查询转换为MapReduce中的job来运行。
hive有一套映射工具,可以把SQL转换为MapReduce中的job,可以把SQL中的表、字段转换为HDFS中的文件(夹)以及文件中的列。
这套映射工具称之为metastore,一般存放在derby、mysql中。
使用mysql作为hive的metastore。
3、gp
4、spark
Spark 运算比 Hadoop 的 MapReduce 框架快的原因是因为 Hadoop 在一次 MapReduce 运算之后,会将数据的运算结果从内存写入到磁盘中,第二次 Mapredue 运算时在从磁盘中读取数据,所以其瓶颈在2次运算间的多余 IO 消耗. Spark 则是将数据一直缓存在内存中,直到计算得到最后的结果,再将结果写入到磁盘,
- Spark SQL: 提供了类 SQL 的查询,返回 Spark-Dataframe 的数据结构(类似 Hive)
- Spark Streaming: 流式计算,主要用于处理线上实时时序数据(类似 storm)
- MLlib: 提供机器学习的各种模型和调优
- GraphX: 提供基于图的算法,如 PageRank
7、flink
Flink相比于Spark而言还有诸多明显优势:
支持高效容错的状态管理,保证在任何时间都能计算出正确的结果;
同时支持高吞吐、低延迟、高性能的分布式流式数据处理框架;
支持事件时间(Event Time)概念,事件即使无序到达甚至延迟到达,数据流都能够计算出精确的结果;
轻量级分布式快照(Snapshot)实现的容错,能将计算过程分布到单台并行节点上进行处理。
Flink就是一款既支持离线批量计算又支持实时在线计算引擎,无疑大数据开发/架构师必须具备的核心技能。
Flink的基本数据模型则是数据流,以及事件(Event)的序列。数据流作为数据的基本模型,可以是无边界的无限“流”,即一般意义上的流处理;也可以是有边界的有限“流”,也就同时兼顾了批处理。
大数据Spark实时处理--架构分析 - 酱汁怪兽 - 博客园
Flume日志收集分层架构应用实践_人生理想在于坚持不懈的技术博客_51CTO博客
Spark 已成为批处理中 Hadoop 的真正继承者,也是第一个完美支持 Lambda 架构的框架。
Spark的优势
支持 Lambda,且在 Spark 中免费使用
高吞吐量,适用于不需要子延时的用例
容错性,默认使用微批处理
高度抽象的 API
社区活跃度高
支持 Exactly Once
Spark的不足
不是真正意义上的实时计算,不能够满足低延时需求
需要调整的参数太多,很难做到全面
在许多高级功能中落后于Flink
Flink具有良好的非功能特性,便于在生产中运行,易于与不同的监控后端集成 ( 例如 Graphite、Prometheus 等 ) ,以及提供良好的 UI 界面。此外,Flink 工作的快速开发周期以及简单的执行模型使得学习曲线平稳,开发效率高。Flink 相比较 SparkStreaming 不仅提供了更低的延时,而且 Flink 还对窗口和事件时间提供了更好的支持。
Spark和Flink都具有流和批处理能力,但是他们的做法是相反的。
Spark Streaming是把流转化成一个个小的批来处理,这种方案的一个问题是我们需要的延迟越低,额外开销占的比例就会越大,这导致了Spark Streaming很难做到秒级甚至亚秒级的延迟。Flink是把批当作一种有限的流,这种做法的一个特点是在流和批共享大部分代码的同时还能够保留批处理特有的一系列的优化。
Flink在千亿级海量数据场景下的最佳实战。
大数据架构师需要掌握大数据采集、大数据ETL、大数据计算、大数据存储、大数据建模、大数据智能分析等多项技术能力,其中最核心的就是以Flink为首的大数据计算引擎。
flinksql做流批一体,dataset做批处理。



