`

hive概述

 
阅读更多

1. Hive是什么

Hive是基于Hadoop的数据仓库解决方案。由于Hadoop本身在数据存储和计算方面有很好的可扩展性和高容错性,因此使用Hive构建的数据仓库也秉承了这些特性。

这是来自官方的解释。

简单来说,Hive就是在Hadoop上架了一层SQL接口,可以将SQL翻译成MapReduce去Hadoop上执行,这样就使得数据开发和分析人员很方便的使用SQL来完成海量数据的统计和分析,而不必使用编程语言开发MapReduce那么麻烦。

先上一张经典的Hive架构图:

Hive结构图

Hive架构图

如图中所示,Hive通过给用户提供的一系列交互接口,接收到用户的指令(SQL),使用自己的Driver,结合元数据(MetaStore),将这些指令翻译成MapReduce,提交到Hadoop中执行,最后,将执行返回的结果输出到用户交互接口。
在使用过程中,至需要将Hive看做是一个数据库就行,本身Hive也具备了数据库的很多特性和功能。

2. Hive擅长什么

Hive可以使用HQL(Hive SQL)很方便的完成对海量数据的统计汇总,即席查询和分析,除了很多内置的函数,还支持开发人员使用其他编程语言和脚本语言来自定义函数。

 

但是,由于Hadoop本身是一个批处理,高延迟的计算框架,Hive使用Hadoop作为执行引擎,自然也就有了批处理,高延迟的特点,在数据量很小的时候,Hive执行也需要消耗较长时间来完成,这时候,就显示不出它与Oracle,Mysql等传统数据库的优势。

 

此外,Hive对事物的支持不够好,原因是HDFS本身就设计为一次写入,多次读取的分布式存储系统,因此,不能使用Hive来完成诸如DELETE、UPDATE等在线事务处理的需求。

 

因此,Hive擅长的是非实时的、离线的、对响应及时性要求不高的海量数据批量计算,即席查询,统计分析。

 

3. Hive的数据单元

  • Databases:数据库。概念等同于关系型数据库的Schema,不多解释;
  • Tables:表。概念等同于关系型数据库的表,不多解释;
  • Partitions:分区。概念类似于关系型数据库的表分区,没有那么多分区类型,只支持固定分区,将同一组数据存放至一个固定的分区中。
  • Buckets (or Clusters):分桶。同一个分区内的数据还可以细分,将相同的KEY再划分至一个桶中,这个有点类似于HASH分区,只不过这里是HASH分桶,也有点类似子分区吧。

4. Hive的数据类型

既然是被当做数据库来使用,除了数据单元,Hive当然也得有一些列的数据类型。这里先简单描述下,后续章节会有详细的介绍。

 

      4.1 原始数据类型

  • 整型
    • TINYINT — 微整型,只占用1个字节,只能存储0-255的整数。
    • SMALLINT– 小整型,占用2个字节,存储范围–32768 到 32767。
    • INT– 整型,占用4个字节,存储范围-2147483648到2147483647。
    • BIGINT– 长整型,占用8个字节,存储范围-2^63到2^63-1。
  • 布尔型
    • BOOLEAN — TRUE/FALSE
  • 浮点型
    • FLOAT– 单精度浮点数。
    • DOUBLE– 双精度浮点数。
  • 字符串型
    • STRING– 不设定长度。

4.2 复合数据类型

  • Structs:一组由任意数据类型组成的结构。比如,定义一个字段C的类型为STRUCT {a INT; b STRING},则可以使用a和C.b来获取其中的元素值;
  • Maps:和Java中的Map没什么区别,就是存储K-V对的;
  • Arrays:就是数组而已;
分享到:
评论

相关推荐

    Hive概述-教案.pdf

    《大数据基础》课程中的“Hive概述”部分主要涵盖了数据仓库的基本概念、Hive系统的框架、工作原理以及其与传统数据库的区别。在这个教学任务中,学生将通过项目教学法来深化对Hive的理解。 首先,我们需要了解数据...

    数据架构师第010节hive概述.mp4

    数据架构师第010节hive概述.mp4

    Hive学习总结及应用.pdf

    一、Hive概述 Hive是一个构建在HDFS和Map/Reduce之上的可扩展的数据仓库。它提供了类似SQL的查询语言HQL(Hive Query Language),使用户可以轻松地对大规模数据进行查询和分析。 二、Hive中的表 Hive中的表可以...

    尚硅谷大数据之Hive视频

    ### Hive概述 Hive是建立在Hadoop之上的数据仓库工具,主要用于对存储在Hadoop文件系统中的各种数据集进行数据整理、特殊查询和分析存储。Hive的本质是将SQL语句转换为MapReduce任务进行运行,这样大大简化了编写...

    华为大数据认证: Hive分布式数据仓库.pptx

    课程目录包括Hive概述、Hive功能与架构、Hive基本操作等。 Hive是大数据处理中的重要工具,具有灵活方便的ETL功能、支持多种计算引擎、使用类SQL语言等特点,广泛应用于数据挖掘、非实时分析、日志分析、文本分析、...

    hive官方文档整理

    1. **Hive概述**:Hive是一个基于Hadoop的数据仓库工具,它允许使用SQL-like语言(HQL,Hive Query Language)对存储在HDFS中的大量数据进行查询和分析。Hive的设计目标是简化大数据的处理,为非程序员提供数据分析...

    hive面试题

    #### 一、Hive概述与架构 **1.1 Hive是什么?** Hive是一个构建在Hadoop之上的数据仓库架构,它提供了一系列工具用于数据提取、转换、加载(ETL)。Hive使得用户能够对存储在Hadoop中的大规模数据进行存储、查询和...

    hive原理1介绍

    #### Hive概述 Hive是一个构建在Hadoop之上的数据仓库工具,它主要解决了Hadoop中数据管理的复杂性问题。通过将结构化的数据文件映射为一张数据库表,Hive提供了SQL查询的功能,使得数据分析人员能够更加方便高效地...

    尚硅谷大数据视频_Hive视频教程

    1. **Hive概述**:了解Hive的起源、设计目标以及在大数据生态系统中的角色。Hive作为Hadoop上的数据仓库工具,提供了一种灵活、可扩展的方式来处理大规模数据。 2. **Hive架构**:探讨Hive的组件和工作流程,如Hive...

    大数据Hive.pdf

    【Hive概述】 Hive是由Facebook开源的一种大数据处理工具,主要设计用来管理和分析海量的结构化日志数据。由于Facebook每天产生的结构化日志数据量巨大,为了有效地管理和利用这些数据,Hive应运而生,并逐渐发展...

    Hive安装指南,Hive 嵌入模式安装指南

    知识点 1: Hive 概述 Hive 是 Apache 软件基金会的一款开源数据仓库工具,提供了类似 SQL 的查询语言 HiveQL,能够快速地查询和分析大规模数据。Hive 的主要特点是能够对大规模数据进行快速查询和分析,并且支持多种...

    开发高效的hive程序

    一、Hive概述 Hive是由Facebook开源的一个基于Hadoop的数据仓库工具,它可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,将SQL语句转化为MapReduce任务运行在Hadoop上。Hive的设计目标是将复杂的数据...

    Hive编程指南(带书签)

    1. **Hive概述**:介绍Hive的起源、设计目标以及它在Hadoop生态系统中的位置。Hive主要为非结构化或半结构化的数据提供了一个灵活的数据层,使得数据分析人员可以无需深入了解MapReduce即可进行数据操作。 2. **...

    Hive LLAP&ApacheTez;

    #### 一、Hive概述 **Hive**是一种基于Hadoop的大数据处理工具,主要用于存储和查询结构化的数据。它通过提供类似于SQL的语言(HQL)来简化Hadoop上的数据分析过程,使得用户无需编写复杂的MapReduce程序即可完成...

    HIVE PDF PDF

    Hive概述 Hive是一个构建在Hadoop上的数据仓库工具,主要用于对大数据集进行数据挖掘和分析。它可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,可以将SQL语句转换为MapReduce任务进行执行。Hive...

    大数据技术之Hive.docx

    【Hive概述】 Hive是由Facebook开源的一种大数据处理工具,主要设计用于处理和分析大规模的结构化日志数据。作为基于Hadoop的数据仓库工具,Hive提供了类SQL的查询语言——HiveQL(Hive Query Language),使得非...

    深入浅出Hive企业级架构优化、Hive Sql优化、压缩和分布式缓存

    #### Hive概述 Apache Hive 是一个基于 Hadoop 的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的 SQL 查询功能,使不熟悉 MapReduce 的开发人员也能用 SQL 语言进行数据查询。Hive 在内部...

    《企业级Hive实战课程》大纲

    1. **Hive概述与安装** - Hive的概念及其与Hadoop的关系; - Hive体系架构的解析; - Hive与传统关系型数据库的区别; - Hive应用场景及优缺点分析; - 环境搭建过程; - 元数据与数据存储机制。 2. **Hive ...

    Hive开发培训.pptx

    #### 一、Hive概述 - **起源与发展**: Hive是由Facebook开发并贡献给Apache基金会的一个开源项目。自2008年以来,已经成为Apache下的一个重要子项目,广泛应用于大数据处理领域。 - **定位与作用**: Hive被设计为...

Global site tag (gtag.js) - Google Analytics