Sql、Hive和Hbase的联系和区别
Hive是作为一个中间人,与sql和Hbase有着联系,而sql和Hbase没有直接的联系。所以我分两部分来谈清楚三者的联系和区别。
一、 首先来谈谈Hive和SQl的关系
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能。
下图是hive的一个入口。先连接hadoop再连接hive,提供Hql(类sql)代码运行MapReduce任务,所以相对花费的时间会长一些,当然Hive也可以将底层计算引擎更换为Spark/Tez等。

跟sql的主要区别是在大数据计算框架下运行,适用于大数据量,并且可扩展性比较强,所以在今天到处是大数据的情况下,Hive非常受欢迎。其次Hive sql跟SQL大致是相同的,简单罗列几个不一样的地方:
1、Hive不支持等值连接
即不支持where a.id = b.id的连接方式,hive使用join连接。
•SQL中对两表内联可以写成:
select * from dual a,dual b where a.key = b.key;
•Hive中应为
select * from dual a join dual b on a.key = b.key;
2、分号字符
•分号是SQL语句结束标记,在HiveQL中也是,但是在HiveQL中,对分号的识别没有那么智慧,例如:
select concat(key,c

本文探讨了Hive与SQL的关系,Hive支持类SQL查询,适用于大数据量处理,但在某些语法上有差异。同时,分析了Hive与Hbase在大数据架构中的角色,Hive用于数据处理,Hbase则专注于实时查询。两者在存储、延迟、结构化程度和使用场景上存在显著区别。
最低0.47元/天 解锁文章
9278

被折叠的 条评论
为什么被折叠?



