主要特性:
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。
Hive 的最佳使用场合是大数据集的批处理作业,例如,网络日志分析。
Hive 中所有的数据都存储在 HDFS 中,Hive 中包含以下数据模型:表(Table),外部表(External Table),分区(Partition),桶(Bucket)。
在Hive中创建表时,默认情况下Hive负责管理数据。这意味着Hive把数据移入到它的“仓库目录”(托管表)。另外一种选择是创建一个“外部表”(external table)。这会让Hive到仓库目录以外的位置去访问数据。
在删除托管表的时候,Hive将会把属于表的元数据和数据全部删掉;而删除外部表的时候,Hive仅仅删除外部表的元数据,数据是不会删除的。
hive为每个数据库创建一个路径,表在被存储在相应的子路径中。默认的“default”的数据库没有自己的路径;数据库的路径这个属性中设置:hive.metastore.warehouse.dir,其中默认的属性值是 /user/hive/warehouse。
经典习题:
hive 为每个数据库创建一个路径,每个表对应一个文件夹,表被存储在相应的子路径中。(对)
默认的"default"的数据库没有自己的路径。(对)
托管表会将数据移入 Hive 的 warehouse 目录