欢迎投稿

今日深度:

Hive 结构,

Hive 结构,


Hive 的结构如图所示,

主要分为以下几个部分:

  • 用户接口,包括 CLI,Client,WUI。
  • 元数据存储,通常是存储在关系数据库如 mysql, derby 中。
  • 解释器、编译器、优化器、执行器。
  • Hadoop:用 HDFS 进行存储,利用 MapReduce 进行计算。

Hive 元数据存储

Hive 将元数据存储在 RDBMS 中,有三种模式可以连接到数据库:

  • Single User Mode: 此模式连接到一个 In-memory 的数据库 Derby,一般用于 Unit Test。
  • Multi User Mode:通过网络连接到一个数据库中,是最经常使用到的模式。
  • Remote Server Mode:用于非 Java 客户端访问元数据库,在服务器端启动一个 MetaStoreServer,客户端利用 Thrift 协议通过 MetaStoreServer 访问元数据库。

Hive 的数据存储

首先,Hive 没有专门的数据存储格式,也没有为数据建立索引,用户可以非常自由的组织 Hive 中的表,只需要在创建表的时候告诉 Hive 数据中的列分隔符和行分隔符,Hive 就可以解析数据。

其次,Hive 中所有的数据都存储在 HDFS 中,Hive 中包含以下数据模型:Table,External Table,Partition,Bucket。

  • Table 的创建过程和数据加载过程(这两个过程可以在同一个语句中完成),在加载数据的过程中,实际数据会被移动到数据仓库目录中;之后对数据对访问将会直接在数据仓库目录中完成。删除表时,表中的数据和元数据将会被同时删除。
  • External Table 只有一个过程,加载数据和创建表同时完成(CREATE EXTERNAL TABLE ……LOCATION),实际数据是存储在 LOCATION 后面指定的 HDFS 路径中,并不会移动到数据仓库目录中。当删除一个 External Table 时,仅删除

www.htsjk.Com true http://www.htsjk.com/hive/38001.html NewsArticle Hive 结构, Hive 的结构如图所示, 主要分为以下几个部分: 用户接口,包括 CLI,Client,WUI。 元数据存储,通常是存储在关系数据库如 mysql, derby 中。 解释器、编译器、优化器、执行器...
相关文章
    暂无相关文章
评论暂时关闭