Hive是建立在hadoop之上的,本质上是将SQL转换为MapReduce的任务进行运算,底层由Hdfs来提供数据的存储,开发这个工具的目的是降低开发MapReduce程序的难度,让业务统计人员可以直接通过类似sql的语言进行数据的统计和展现。
Hive具有可扩展性,容错性与低约束性的特点,这是因为底层用的是Hdfs,对这些特性进行了继承
同时也有延展性的特点,这个延展性是指可以自定义函数进行拓展
Hive对外提供了丰富的用户接口,既可以通过CLi接口进行交互,也可以通过web 接口进行交互,也可以用原始的JDBC/ODBC客户端进行交互,在整个交互过程中,HQL语句会被解析成MapReduce任务进行执行
Hive建表时分内部表和外部表,对于内部表的数据,hive是全权管理,包括元数据和数据,对于外部表hive,只管理元数据,内部表适用于需要在 Hive 中进行频繁的读写操作、数据清洗、转换和分析的场景。外部表适用于与其他数据源集成的场景。例如大规模的离线数据分析
Hive的hql语句和传统的sql语句,基本一致,不再赘述
简单说一下hive和hbase的区别:
hbase:是一个分布式数据库,它主要用于弥补hdfs延迟较高的问题
hive:是一个分布式数据仓库,更形象的说是一个数据仓库工具集,它的目的降低mapreduce的开发难度
