• 【大数据系列】Hive安装及web模式管理


    一、什么是Hive

    Hive是建立在Hadoop基础常的数据仓库基础架构,,它提供了一系列的工具,可以用了进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在Hadoop中的按规模数据的机制。Hive定义了简单的类SQL查询语句,称为HQL。它允许熟悉SQL的用户查询数据、同时。这个语言也允许熟悉MapReduce开发者开发自定义的mapper和reducer来处理内建的mapper和reducer无法完成的复杂的分析工作。

    Hive是SQL解析引擎,它将SQL语句转译为Map/Reduce Job然后在Hadoop执行,Hive的表其实就是HDFS的目录,按表名把文件夹分开,如果是分区表,可以直接在Map/Reduce Job里使用这些数据。

    二、Hive的组件

    Hive架构包括如下组件:CLI(command line interface) 、 JDBC/ODBC  、 Thrift  Server 、WEB GUI 、metastore 和Driver(Compiler、Optimizer和Executor)这些组件可以分为:服务端组件和客户端组件。

    1)客户端组件

    Cli:Command line interface 命令行接口

    Thrift客户端:Hive架构的许多客户端接口是建立在Thrift客户端上,包括JDBC和ODBC接口

    WEBGUI:Hive客户端提供了一种通过网页方式访问Hive所提供的服务,这个接口对应Hive的hwi组件(hive web interface)使用前要启动hwi服务

    2)服务端组件

    Driver组件:该组件包括Compiler、Optimizer和Executor,它的作用是将我们写的HiveQL语句进行分析、编译优化。生成执行计划,然后调用底层的mapreduce计算框架

    Metastore组件:元数据服务组件,这个组件存储Hive的元数据,hive的元数据存储在关系数据库里,hive支持的关系数据库有derby  mysql。元数据对于hive十分重要,因此hive支持把mwtastore服务独立出来,安装到远程的服务器集群里,从而解耦Hive服务和metastore服务,保证hive运行的健壮性。

    Thrift服务:facebook开发的一个软件框架,它用来进行可扩展跨语言的服务的开发,hive集成了该服务,能让不同的编程语言调用hive的接口

    注:Hive的数据存储在HDFS中,大部分的查询有MapReduce完成(包含*的查询,不会生成MapReduce任务)

    HQL的执行过程:

    解释器、编译器、优化器完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划(Plan)的生成。生成的查询计划存储在HDFS中,并随后有MapReduce调用执行。
    HQL Select-->发送到解析器进行词法分析 -->错误则反映 否则发送到编译器 生成HQL的执行计划-->优化器 生成最佳的执行计划 -->执行

    explain plan for select * from emp where deptno=10;
    --查看执行计划 select * from table(dbms_xplan.display);

    HIVE的体系结构:

    HADOOP:用HDFS进行存储,利用MapReduce进行计算
    元数据存储(MstaStore):通常是存储在数据库,如mysql derby中

    HIVE安装模式:

    嵌入模式:

    元数据信息被存储在Hive自带的DerBy数据库中,只允许创建一个连接、多用于Demo 本地模式:元数据信息被存储在MySql数据库中,MySql和Hive运行在同一台物理机中,多用于开发和测试

    远程模式:

    MySql和Hive不在同一操作系统,多用于生产环境

    HIVE的管理:

    端口号9999 启动方式:#hive --service hwi & 访问地址:http://IP:9999/hwi
    下载原码进入hwi文件夹中打包 jar cvfM0 hive-hwi.war -C web/ .
    将war包拷贝到lib目录下
    修改配置文件hive-site.xml
    需要拷贝jdk下的tools.jar到hive的lib下 不然会报错
    在web下只能进行查询操作
    HIVE的远程模式:
    hive --service hiveserver 默认端口10000

  • 相关阅读:
    [设计模式整理笔记 五] 创建者模式(Builder)
    ArrayList与List<T>笔记
    asp.net站点URLRewrite小记
    ArrayList Array List<T>性能比较
    C# Socket SSL通讯笔记
    [设计模式整理笔记 六] 工厂模式与创建者模式总结
    [设计模式整理笔记 七] 原型模式(ProtoType)
    实现页面提交时显示"正在处理.."
    [设计模式整理笔记 四] 抽象工厂模式(Abstract Factory)
    在 ASP.NET 中执行 URL 重写 [转MSDN]
  • 原文地址:https://www.cnblogs.com/dream-to-pku/p/7296579.html
Copyright © 2020-2023  润新知