Apache Hive入门Apache Hive入门.docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Apache Hive入门Apache Hive入门

Apache Hive入门1Hive是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存放元数据??? 可以参考一下这篇文章??? /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 与 JDBC 导入hive\lib下的所有jar包到IDE的classpath里面,还有hadoop中的 hadoop-0.20.2-core.jar包,即可运行下列代码:package com.javabloger.hive;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class HiveTestCase {??? public static void main(Strin

文档评论(0)

cduutang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档