Hive

Hive是什么?

由facebook开源的用于解决海量结构化日志的数据统计,后称Apache Hive 的开源项目。

Hive是基于Hadoop文件系统上的数据仓库架构。存储用HDFS,计算用MR。它为数据仓库管理提供大量功能,如数据ETL(详细看前文)工具,数据存储管理与大型数据查询和分析能力。

同时Hive还定义了类SQL语言--Hive QL,允许用户进行和SQL相似的操作。他可以将结构化数据的数据文件转化为一张数据表,并提供简单的查询功

能。可以将SQL转化为MapReduce语句。

Hive可以理解成为一个工具,不存在主从结构,不用安装到每台机器上,只需要安装几台就行了。

默认数据库:derby,后期转换成关系型数据库mysql。

看看下图hive在Hadoop生态系统中的位置。

接着看下Hive体系结构。

Meta store引进元数据。

HDFS和MapReduce。最原始的数据其实还是在HDFS上,并且在跑一些SQL语句的时候,内部实际上是跑MapReduce。

Client客户端。可通过JDBC或者CLI提交任务到Driver上面运行,SQL Parser将数据变化成抽象语法树,然后解析成Physical Plan放到Execution上执行(其实也是在MR中执行)。

这边注意,meta store并不是数据库,而是数据!存放元数据的具体信息。

下面就是对Driver的详细拆解。

这里可以结合上面的图进行理解。

下面的话是整体流程。

这里再客户端提交了任务,先读取meta data找到元数据信息,包括存放位置,大小等,然后再放到Driver进行解析,然后放到map reduce上跑。

向左滑动

OK

看下去

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181107G02XDF00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券