大数据关键技术:
- 数据采集
- 数据存储与管理
- 数据处理与分析
- 数据隐私与安全
大数据核心技术:
- 分布式存储技术
- 分布式处理技术
大数据计算模式及相关框架
Hadoop生态
Hadoop生态组件图:
YARN:在没有YARN之前,由于多种计算框架在资源调度机制方面的不同,为了避免各框架之间互相抢夺资源,只能一个集群部署一种框架,大大浪费了集群资源。而YARN恰是一套资源调度框架,可以根据需求对多种计算框架进行资源调度,从而实现了”一个集群多种框架”,提高了资源利用率。
Hive 与 HBase的区别:
- HIVE是一种计算工具,在封装Map Reduce的基础上使用SQL方式实现离线处理,可以简单认为是一套SQL翻译语言,只不过翻译为MapReduce计算,HIVE本质上还是依靠MapReduce执行离线批量处理。HIVE目的是处理分析,所以仅支持查询及插入,不支持更改和删除。
HBase是一种面向列的key/value数据库,是把hdfs的数据整理后形成的非关系型数据库,可以做到随机实时访问。HBase本质是数据库,支持增删改查,Hbase使用方式并不是SQL方式,其不支持SQL。
参考链接:Hive和Hbase各自的应用场景
- Zookeeper:分布式应用程序协调服务框架,提供配置维护、域名服务、分布式同步、组服务。
- Sqoop:ETL工具,支持Hadoop与关系型数据库之间的数据转移。
- Ambari:hadoop集群的集中监控、供应、管理工具,支持Web UI。
Spark vs Hadoop MapReduce核心对比
- Hadoop的三大缺陷:表达力差(仅支持Map和Reduce)、延迟高(使用磁盘IO)、链式过程(必须map计算结果写入磁盘后才可以开始reduce操作)
- Spark针对上述三点提出了改进:支持多种运算(比如groupBy、filter等)、基于内存计算(中间结果保存到内存)、基于DAG(有向无环图)的调度执行机制。
- Spark和MapReduce都需要依赖于HDFS
Spark vs Flink核心对比
- 计算模型: Spark基于RDD(弹性数据集)进行小批量处理,是一种微批处理机制,flink是一种基于操作符的连续的流处理模型
- spark处理流处理的延迟比flink高,spark的流处理延迟在秒级别,而flink的流处理延迟在毫秒级别。
- Spark和Flink都同时支持批处理、流处理、图处理和查询分析计算。