• 2021.9.17 Hive


    一、今日学习内容

       

    一、Hive简介

      hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。

      hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。

      Hive的优点是学习成本低,可以通过类似SQL语句实现快速MapReduce统计,使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序。

      hive十分适合对数据仓库进行统计分析。

    二、设计特征

      hive 是一种底层封装了Hadoop 的数据仓库处理工具,使用类SQL 的hiveSQL 语言实现数据查询,所有hive 的数据都存储在Hadoop 兼容的文件系统(例如,Amazon S3、HDFS)中。hive 在加载数据过程中不会对数据进行任何的修改,只是将数据移动到HDFS 中hive 设定的目录下,因此,hive 不支持对数据的改写和添加,所有的数据都是在加载的时候确定的。hive 的设计特点如下。 
    ● 支持创建索引,优化数据查询。 
    ● 不同的存储类型,例如,纯文本文件、HBase 中的文件。 
    ● 将元数据保存在关系数据库中,大大减少了在查询过程中执行语义检查的时间。 
    ● 可以直接使用存储在Hadoop 文件系统中的数据。 
    ● 内置大量用户函数UDF 来操作时间、字符串和其他的数据挖掘工具,支持用户扩展UDF 函数来完成内置函数无法实现的操作。 
    ● 类SQL 的查询方式,将SQL 查询转换为MapReduce 的job 在Hadoop集群上执行。 
    三、数据存储模型
      hive中包含以下四类数据模型:表(Table)、外部表(External Table)、分区(Partition)、桶(Bucket)。 
      (1) hive中的Table和数据库中的Table在概念上是类似的。在hive中每一个Table都有一个相应的目录存储数据。 
      (2)外部表是一个已经存储在HDFS中,并具有一定格式的数据。使用外部表意味着hive表内的数据不在hive的数据仓库内,它会到仓库目录以外的位置访问数据。 
    外部表和普通表的操作不同,创建普通表的操作分为两个步骤,即表的创建步骤和数据装入步骤(可以分开也可以同时完成)。在数据的装入过程中,实际数据会移动到数据表所在的hive数据仓库文件目录中,其后对该数据表的访问将直接访问装入所对应文件目录中的数据。删除表时,该表的元数据和在数据仓库目录下的实际数据将同时删除。 
    外部表的创建只有一个步骤,创建表和装入数据同时完成。外部表的实际数据存储在创建语句。LOCATION参数指定的外部HDFS文件路径中,但这个数据并不会移动到hive数据仓库的文件目录中。删除外部表时,仅删除其元数据,保存在外部HDFS文件目录中的数据不会被删除。 
      (3)分区对应于数据库中的分区列的密集索引,但是hive中分区的组织方式和数据库中的很不相同。在hive中,表中的一个分区对应于表下的一个目录,所有的分区的数据都存储在对应的目录中。 
      (4)桶对指定列进行哈希(hash)计算,会根据哈希值切分数据,目的是为了并行,每一个桶对应一个文件。

     二、遇到的问题

    没有遇到问题

    三、明日计划

       继续学习hive

  • 相关阅读:
    仿小米网jQuery全屏滚动插件fullPage.js
    如何让低版本的IE浏览器(IE6/IE7/IE8)支持HTML5 header等新标签
    javascript--烟火效果
    javascript--15条规则解析JavaScript对象布局(__proto__、prototype、constructor)
    javascript——集合类
    javascript——可以判断值的类型的函数
    ”拍平数组“
    自定义的分页插件
    那些年,我们一起被坑的H5音频
    javascript-处理XML
  • 原文地址:https://www.cnblogs.com/wmdww/p/14148457.html
Copyright © 2020-2023  润新知