hadoop与hive

数据依然是存储在HDFS中,由HDFS负责管理数据冗余与一致性。Hive只是在此基础上构建了一个表,在进行数据查询时,Hive引擎将SQL语句转化为下层的mr作业,然后在mr的基础上进行计算,计算完成,最后返回结果。
Hive的语法从MySQL中借鉴了很多东西,因此很多MySQL语句可以直接在Hive中使用。但MySQL属于数据库,Hive属于数据仓库,它们对数据的处理有着本质的区别。
数据库与数据仓库,好比商店的柜台与货仓。你去商店买东西,需要什么东西,只要一问售货员,基本能在1秒之内告诉你在哪儿,价格是多少。柜台好比数据库,需要取数据的时候非常快。如果你问售货员,店里面今年销量最好的手机还有多少部的时候(你就是想买10部送朋友),可能就不会很快得到答案了。因为,售货员需要知道哪款手机卖得最好,另外还需要去仓库里面清点一下存量,假定仓库里面的手机型号太多的话,可能她10分钟才会告诉你答案。这里的仓库也就是数据仓库,数据仓库处理一些并不需要及时反馈的数据,在交互时间上,可能是分钟级别。
Hive就属于这种数据仓库,Hive并不能作为线上使用的数据库,因为执行一条简单的SQL语句,它可能都需要花一分钟来处理。因此,这也正是数据分析的核心。

hadoop与hive

 

上一篇:09 hive 安装与操作


下一篇:09