1、并行计算
2、充分利用集群的CPU计算资源、存储资源
3、处理大规模数据集
4、使用SQL,学习成本低
55、Hive应用场景
1、海量数据处理 2、数据挖掘 3、数据分析 4、SQL是商务智能工具的通用语言,Hive有条件和这些BI产品进行集成
56、Hive不适用场景
1、复杂的科学计算 2、不能做到交互式的实时查询
57、Hive和数据库(RDBMS)的区别
1、数据存储位置。Hive是建立在Hadoop之上的,所有的Hive的数据都是存储在HDFS中的。而数据库则可以将数据保存在块设备或本地文件系统中。
2、数据格式。Hive中没有定义专门的数据格式,由用户指定三个属性:列分隔符,行分隔符,以及读取文件数据的方法。数据库中,存储引擎定义了自己的数据格式。所有数据都会按照一定的组织存储。
3、数据更新。Hive的内容是读多写少的,因此,不支持对数据的改写和删除,数据都在加载的时候中确定好的。数据库中的数据通常是需要经常进行修改。
4、执行延迟。Hive在查询数据的时候,需要扫描整个表(或分区),因此延迟较高,只有在处理大数据是才有优势。数据库在处理小数据是执行延迟较低。
5、索引。Hive没有,数据库有
6、执行。Hive是MapReduce,数据库是Executor
7、可扩展性。Hive高,数据库低
8、数据规模。Hive大,数据库小
58、Hbase 的模块:
Region
- Region用于存放表中的行数据
- 当一个表格很大的时候,数据会存放并共享在多个Region中
- 每一个Region只存放一个单一的Column Family
Region Server
- 一个Region Server包含多个Region - 管理表格,以及实现读写操作
- Client会直接和Region Server通信获取数据
Master
- 协调多个Region Server
- 侦测各个Region Server的状态并平衡它们之间的workload
- 分配Region给Region Serer
- 允许多个Master节点,但是只有一个服务,其他是backup
- 和Zookeeper一起工作实现HA
Zookeeper
- Hbase中至关重要的模块
- 确保有一个Master处于Running的状态
- 注册Region和Region Server
- 属于Hbase容错性的一部分
HDFS
- Hadoop 的分布式文件系统(Hadoop Distributed File System)
API
- Hbase提供Java的Client API