zoukankan      html  css  js  c++  java
  • Hive构成及工作原理简介

    Hive是基于Hadoop的一个数据仓库工具,使用hive的优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析(可加强具体了解统计目标和分析方法)。

    可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。
    还可以将 SQL 语句转换为 MapReduce 任务进行运行,通过自己的 SQL 去 查询分析需要的内容,这套 SQL 简称HQL。
    

    Hive将元数据存储在数据库(RDBMS)中,

    比如MySQL、Derby中。
    

    Hive有三种模式连接到数据,其方式是:

    单用户模式,多用户模式和远程服务模式。
    (也就是内嵌模式、本地模式、远程模式)。
    

    Hive特点:

    1.可扩展
    Hive可以自由的扩展集群的规模,一般情况下不需要重启服务。
    2. 延展性
    Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。
    3.容错
    良好的容错性,节点出现问题SQL仍可完成执行。
    

    Jobtracker是hadoop1.x中的组件,它的功能相当于hadoop2.x中的: Resourcemanager+AppMaster
    TaskTracker 相当于:  Nodemanager  +  yarnchild
    


    从上图可以看出,Hive体系结构大概分成一下四个部分:

    1.用户接口:

    包括 CLI, Client, WUI:
    CLI为shell命令行,Cli 启动的时候,会同时启动一个 Hive 副本。
    Client 是 Hive 的客户端,用户连接至 Hive Server。在启动 Client 模式的时候,需要指出 Hive Server 所在节点,并且在该节点启动 Hive Server。 
    WUI 是通过浏览器访问 Hive。
    

    2.元数据存储:通常是存储在关系数据库如 mysql, derby 中

    3.解释器、编译器、优化器、执行器:

    完成 HQL 查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。
    生成的查询计划存储在 HDFS 中,并在随后有MapReduce 调用执行。
    

    4.Hadoop:

    Hive中数据用 HDFS 进行存储,利用 MapReduce 进行计算。
    小小测试一枚
  • 相关阅读:
    php_sphinx安装使用
    编程实现自定义解决方案
    NetBeans 时事通讯(刊号 # 55 May 06, 2009)
    Java 上下文与依赖注入(JSR 299)[1]
    走进Java 7模块系统
    VC编程中关于新建的框架窗口的销毁的一个心得
    家常菜之豆豉蒸鸡翅
    用ntsd命令强制杀死进程
    NetBeans 时事通讯(刊号 # 56 May 21, 2009)
    NetBeans 时事通讯(刊号 # 56 May 21, 2009)
  • 原文地址:https://www.cnblogs.com/txdblog/p/15254189.html
Copyright © 2011-2022 走看看