Hive提供了一个被称为Hive查询语言(简称HiveQL或HQL)的SQL方言,来查询存储在Hadoop集群中的数据。
Hive适合于数据仓库应用程序,使用该应用程序进行相关的静态数据分析,不需要快速响应给出结果,而且数据本身不会频繁变化。不需要记录级别的插入、更新和删除。
Hive使用环境变量HADOOP_HOME来指定的Hadoop的所有相关JAR和配置文件。
所有的Hive客户端都需要一个metastore service (元数据服务),Hive使用这个服务来存储表模式信息和其他元数据信息。通常情况下会使用一个关系型数据库中的表来存储这些信息。默认情况下,Hive会使用内置的Derby SQL服务器,其可以提供有限的、单进程的存储服务。例如,当使用Derby时,用户不可以执行2个并发的Hive CLI实例,然而,如果是在个人计算机或者某些开发任务上使用的话这样也是没问题的。对于集群来说,需要使用MySQL或者类似的关系型数据库。