hive 资料整理系列一 入门
2011-07-28 14:31
471 查看
Hive是Hadoop项目中的一个子项目,由FaceBook向Apache基金会贡献,其中TaoBao也是其中一位使用者+贡献者,Hive被视为一个仓库工具,可以将结构化的数据文件映射为一张数据库表,并可以将sql语句转换为 MapReduce 任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
Hive主要分为以下几个部分:
1.用户接口
用户接口主要有三个:命令行(CLI),客户端(Client) 和 Web界面(WUI)。其中最常用的是 CLI,启动的时候,会同时启动一个 Hive 服务。Client 是 Hive 的客户端,用户连接至 Hive Server。在启动 Client 模式的时候,需要指出 Hive Server 所在节点,并且在该节点启动 Hive Server。 WUI 是通过浏览器访问 Hive的Web工具。
2.元数据存储
Hive 将元数据存储在数据库中,如 MySQL或者Derby嵌入式数据库。若将元数据存储在MySQL中,在TBLS中可以看见你建立的所有表信息,Hive 中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。
3. 执行
解释器、编译器、优化器完成 HQL 查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在 HDFS 中,并在随后有 MapReduce 调用执行。
4. HDFS存储
Hive 的数据存储在 HDFS 中,大部分的查询由 MapReduce 完成(包含 * 的查询,比如 select * from tbl 不会生成 MapRedcue 任务)。
如图所示:
Hive 元数据存储
Hive 将元数据存储在 RDBMS 中,有三种模式可以连接到数据库: Single User Mode: 此模式连接到一个 In-memory 的数据库 Derby,一般用于 Unit Test,如图1
Multi User Mode:通过网络连接到一个数据库中,是最经常使用到的组合模式,如图2
Remote Server Mode:用于非 Java 客户端访问元数据库,在服务器端启动一个 MetaStoreServer,客户端利用 Thrift 这个东东 通过 MetaStoreServer 访问元数据库。如图3
Hive 的启动方式
hive 命令行模式,直接输入/hive/bin/hive的执行程序,或者输入 hive –service cli
hive web界面的启动方式,hive –service hwi
hive 远程服务 (端口号10000) 启动方式,nohup hive –service hiveserver &Hive的SQL
建表
CREATE TABLE javabloger (foo INT, bar STRING);
插入
LOAD DATA LOCAL INPATH '/work/hive/examples/files/kv1.txt' OVERWRITE INTO TABLE javabloger;
查询
SELECT a.* FROM javabloger a;Hive使用MySQL存放元数据
可以参考一下这篇文章
http://www.mazsoft.com/blog/post/2010/02/01/Setting-up-HadoopHive-to-use-MySQL-as-metastore.aspx
别忘了下载 MySQL 的JDBC驱动,推荐下载 mysql-connector-java-5.1.11.tar.gz
Hive主要分为以下几个部分:
1.用户接口
用户接口主要有三个:命令行(CLI),客户端(Client) 和 Web界面(WUI)。其中最常用的是 CLI,启动的时候,会同时启动一个 Hive 服务。Client 是 Hive 的客户端,用户连接至 Hive Server。在启动 Client 模式的时候,需要指出 Hive Server 所在节点,并且在该节点启动 Hive Server。 WUI 是通过浏览器访问 Hive的Web工具。
2.元数据存储
Hive 将元数据存储在数据库中,如 MySQL或者Derby嵌入式数据库。若将元数据存储在MySQL中,在TBLS中可以看见你建立的所有表信息,Hive 中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。
3. 执行
解释器、编译器、优化器完成 HQL 查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在 HDFS 中,并在随后有 MapReduce 调用执行。
4. HDFS存储
Hive 的数据存储在 HDFS 中,大部分的查询由 MapReduce 完成(包含 * 的查询,比如 select * from tbl 不会生成 MapRedcue 任务)。
如图所示:
Hive 元数据存储
Hive 将元数据存储在 RDBMS 中,有三种模式可以连接到数据库: Single User Mode: 此模式连接到一个 In-memory 的数据库 Derby,一般用于 Unit Test,如图1
Multi User Mode:通过网络连接到一个数据库中,是最经常使用到的组合模式,如图2
Remote Server Mode:用于非 Java 客户端访问元数据库,在服务器端启动一个 MetaStoreServer,客户端利用 Thrift 这个东东 通过 MetaStoreServer 访问元数据库。如图3
Hive 的启动方式
hive 命令行模式,直接输入/hive/bin/hive的执行程序,或者输入 hive –service cli
hive web界面的启动方式,hive –service hwi
hive 远程服务 (端口号10000) 启动方式,nohup hive –service hiveserver &Hive的SQL
建表
CREATE TABLE javabloger (foo INT, bar STRING);
插入
LOAD DATA LOCAL INPATH '/work/hive/examples/files/kv1.txt' OVERWRITE INTO TABLE javabloger;
查询
SELECT a.* FROM javabloger a;Hive使用MySQL存放元数据
可以参考一下这篇文章
http://www.mazsoft.com/blog/post/2010/02/01/Setting-up-HadoopHive-to-use-MySQL-as-metastore.aspx
别忘了下载 MySQL 的JDBC驱动,推荐下载 mysql-connector-java-5.1.11.tar.gz
相关文章推荐
- Hive 资料整理系列 五 Hive-0.5中SerDe概述
- hive资料整理系列 六 hive 配置
- Hive资料整理系列 二 Hive安装及mysql做元数据库 --clouder版本
- hive资料整理系列 三 总体介绍
- Hive资料整理系列 四 Hive - 运用于hadoop的拍字节范围数据仓库 --译文
- 转载某博主整理的资料:程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大经典原创系列集锦与总结
- 【NoSQL】NoSQL入门级资料整理(CAP原理、最终一致性)
- IOS开发系列--学习资料整理
- 专知原创和整理了一些中英文机器学习从入门到精通的资料,和大家分享一下
- NoSQL】NoSQL入门级资料整理(CAP原理、最终一致性)
- WPF入门教程系列一——基础 一、 前言 最近在学习WPF,学习WPF首先上的是微软的MSDN,然后再搜索了一下网络有关WPF的学习资料。为了温故而知新把学习过程记录下来,以备后
- Javascript入门学习资料收集整理篇
- Spark入门实战系列--5.Hive(下)--Hive实战
- LaTeX 入门资料整理
- 从无到有系列之Hive-入门操作及简单应用02
- [导入]关于整理出的设计模式系列各方面学习资料
- Spark入门实战系列--5.Hive(上)--Hive介绍及部署
- git入门资料整理
- python入门 零基础入门 学习资料整理
- Spring及SpringMVC入门资料整理