• hive之大数据仓库


                                                                               

      hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转换、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转换成Map reduce任务运行,通过自己的SQL查询分析需要的内容,这套SQL简称Hive SQL。

      hive不适合用于联机(online)事务处理,也不提供实时查询功能。它最适合应用在基于大量不可变数据的批处理作业。

      hive的特点包括:可伸缩(在Hadoop的集群上动态添加设备)、可扩展、容错、输入格式的松散耦合。

      hive 构建在基于静态批处理的Hadoop 之上,Hadoop 通常都有较高的延迟并且在作业提交和调度的时候需要大量的开销。因此,hive 并不能够在大规模数据集上实现低延迟快速的查询,例如,hive 在几百MB 的数据集上执行查询一般有分钟级的时间延迟。  

      hive是一种底层封装Hadoop的数据仓库处理工具,使用类SQL的hiveQL语言实现查询,所有hive的数据都存储在Hadoop兼容的文件系统中。hive在加载数据过程中不会对数据进行任何的修改,只是将数据移动到HDFS中hive设定的目录下,因此,hive不支持对数据的改写和添加,所有的数据都是在加载的时候确定的。

      

      hive的设计特点如下:

    1.支持创建索引,优化数据查询

    2.不同的存储类型,例如,出文本文件、Hbase中的文件。

    3.将元数据保存在关系型数据库中,大大减少了在查询过程中执行语义检查的时间。

    4.可以直接使用存储在Hadoop文件系统中的数据。

    5.内置大量用户函数UDF来操作时间、字符和其他的数据挖掘工具,支持用户扩展UDF函数来完成内置函数无法实现的操作。

      hive体系架构:

    用户接口:
    用户接口主要有三个:CLI,Client 和 WUI。其中最常用的是 Cli,Cli 启动的时候,会同时启动一个 hive 副本。
    Client 是 hive 的客户端,用户连接至 hive Server。在启动 Client 模式的时候,需要指出 hive Server 所在节点,
    并且在该节点启动 hive Server。 WUI 是通过浏览器访问 hive。

    元数据存储:
    hive将元数据存储在数据库中,如MySQL、debty。hive中的元数据包括表的名字,表的列和分区及其属性,
    表的属性(是否为外部表等),表的数据所在目录等。

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

    6.类SQL的查询方式,将SQL查询转换为MapReduce的job在Hadoop集群上执行。

  • 相关阅读:
    【Java集合】-- LinkedList源码解析
    【Java集合】--ConcurrentHashMap源码解析
    【Java集合】--ConcurrentHashMap源码解析
    【Java集合】-- CopyOnWriteArrayList源码解析
    【Java集合】-- CopyOnWriteArrayList源码解析
    【Java集合】-- ArrayList源码解析
    【Java集合】-- ArrayList源码解析
    【Java集合】-- HashMap源码解析
    工厂模式和抽象工厂模式
    常见的排序算法整理
  • 原文地址:https://www.cnblogs.com/shaojie1986/p/12707512.html
Copyright © 2020-2023  润新知