`
free9277
  • 浏览: 104676 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Hive简单介绍

阅读更多
背景及体系结构

1背景

应用于工业的商务智能收集分析所需的数据集正在大量增长,使得传统的数据仓库解决方案变得过于昂贵。Hadoop 是一个流行的开源map-reduce实现,用于像yahoo, Facebook一类的公司。来存储和处理商用硬件上的大范围数据集。然而map-reduce程序模型还是处于很低级别,即需要开发者来书写客户程序,这些程序往往难于维护与重用。

hbase做数据库,但由于hbase没有类sql查询方式,所以操作和计算数据非常不方便,于是整合hive,让hive支撑在hbase数据库层面的hql查询。hive也叫做数据仓库。

2定义

Hive是基于Hadoop(HDFS, MapReduce)的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。

本质是将SQL转换为MapReduce程序。

3体系结构

Hive本身建立在Hadoop的体系结构上,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行。并按照该计划生成MapReduce任务后交给Hadoop集群处理,Hive的体系结构如图1-1所示:

1-1 Hive的体系结构

4Hive的数据存储

Hive的存储是建立在Hadoop文件系统之上的。Hive本身没有专门的数据存储格式,也不能为数据建立索引,用户可以自由地组织Hive中的表,只需要在创建表的时候告诉Hive数据中的列分隔符和行分隔符就可以解析数据了。

Hive中主要包含四类数据模型:表(Table)、外部表(External Table)、分区(Partition)和桶(Bucket)。

Hive中的表和数据库中的表在概念上是类似的,每个表在Hive中都有一个对应的存储目录。例如一个表pokesHDFS中的路径为/warehouse/pokes,其中/warehousehive-site.xml配置文件中由${hive.metastore.warehouse.dir}指定的数据仓库的目录。

Hive中每个分区都对应数据库中相应分区列的一个索引,但是分区的组织方式和传统关系型数据库不同。在Hive中,表中的一个分区对应表下的一个目录,所有分区的数据都存储在对应的目录中。例如,图1-2htable表中包含yearmonthday三个分区,分别对应三个目录:对于year=2012month=01day=01HDFS子目录为:/warehouse/htable/year=2012/ month=01/ day=01;对于year=2012month=02day=14HDFS子目录为:/warehouse/htable/year=2012/ month=02/ day=14;

桶对指定列进行哈希计算时,根据哈希值切分数据,每个桶对应一个文件。例如,将图1-2htable表中属性列Uniqueid列分散到32个桶中,首先要对Uniqueid进行hash计算,对应哈希值为0的桶写入HDFS的目录为:/warehouse/htable/year=2012/ month=01/ day=01/part-0;对应哈希值为1的桶写入HDFS的目录为:/warehouse/htable/year=2012/ month=01/ day=01/part-1

 
1-2 Hive数据存储

  • 大小: 41.3 KB
  • 大小: 50.5 KB
1
3
分享到:
评论

相关推荐

    hive数据定义与简单的操作

    hive的定义与简单操作,大数据开发hive的简单介绍,入门级别知识点.

    hive入门.pdf

    hive入门,介绍hive相关简单知识和例子。

    hadoop+hive+mapreduce的java例子

    基于hadoop的Hive数据仓库JavaAPI简单调用的实例,关于Hive的简介在此不赘述。hive提供了三种用户接口:CLI,JDBC/ODBC和 WebUI CLI,即Shell命令行 JDBC/ODBC 是 Hive 的Java,与使用传统数据库JDBC的方式类似 Web...

    hive介绍 安装 和 mysql 数据库的安装

    hive介绍 安装 和 mysql 数据库的安装

    SpringBoot整合hive-jdbc示例

    本项目对如何在Springboot项目中整合hive-jdbc进行简单示例和介绍,亲测可用,请放心下载。

    第14章 基于Hadoop的数据仓库Hive

    本章首先介绍了数据仓库的概念、Hive的基本特征、与其他组件之间的关系、与传统数据库的区别以及它在企业中的...最后,以单词统计为例,介绍了如何使用Hive进行简单编程,并说明了Hive编程相对于MapReduce编程的优势。

    Hive详细介绍及简单应用

    1.1.2为什么使用Hive1.)直接使用hadoop所面临的问题人员学习成本太高项目周期要求太短MapReduce实现复杂查询逻辑开发难度太大2.)操作接口采用类SQL语法,提供快速开发的能力。避免了去写MapReduce,减少开发人员的...

    hive的自定义函数

    简单介绍了hive自定义函数的编写步骤以及使用。

    SpagoBI集成Hive数据库

    SpagoBI集成Hive数据库:此文档主要介绍集成步骤,不包含Hive数据库部分。在做集成时Hive数据库老是不稳定,导致报表出问题。针对这种情况小伙伴可以写个简单的JDBC连接 循环测试一下。

    hadoop下hive的安装

    这里详细介绍了hive的安装,以及和mysql的整合,以及一些其他的一些简单操作

    大数据技术-DataGrip2020.2.2连接Apache Hive3.1.2

    简单介绍一下 DataGrip: 由 JetBrains 公司推出的数据库管理软件, 几乎支持所有主流 的关系数据库产品, 如 DB2、 Derby、 MySQL、 Oracle、 SQL Server 等, 也几乎支持所有主流的大数据生态 SQL 软件, 且界面...

    Hive使用手册(初级)

    Hive的入门经验整理,基本上满足了初级使用Hive进行数据聚类分析的需要,末尾部分还简单介绍了UDF的基本内容。

    Apache Hive in CDH优化

    hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。...本人介绍如何在CDH中优化Hive,参考CDH文档翻译而来

    hive-install:hive的安装,前提是已经配置好了HDFS集群,DownLoad hdfs的客户端

    hive其实就是一个客户端工具,根据sql语义转化为相应的mapreduce,跑在hdfs集群上面,返回结果在返回给hive,这篇操作手册是在HDFS集群搭建成功的基础上而写,所有前提是你已经有HDFS集群,此文不介绍高大上的架构,只...

    基于CentOS7的Hadoop2.7.7集群部署+Hive+Zookeeper+hbase1.x+kylin2.5.0.doc

    基于CentOS7的Hadoop2.7.7集群部署+Hive1.2.2+Zookeeper3.4.14集群+hbase1.x+kylin2.5.0环境搭建,以及一个简单的kylin案例介绍

    java投票网站源码-awesome-hive:精选的Hive资源精选列表

    用于您自己的博客的简单但功能强大的网站模板。 块浏览器 文档 沟通渠道 - 具有基于 Hive 的身份验证的链下通信中心。 - 蜂巢电报组。 - Hivenetwork YouTube 频道。 - 推特上的 Hive.io。 介绍 关于 Hive 的文档和...

    kylin简单介绍

    文档由 hankl 整理,欢迎拍砖 ~ 文档分为四个部分: 1: kylin 的基本介绍。 2: 如何构建 model。 3: 如何构建 cube。 4: 其他的一些基本操作

    大数据学习笔记

    第19章 HIVE介绍 71 19.1 HIVE是什么? 71 19.2 HIVE特点 71 19.3 HIVE架构 71 19.5 HIVE工作流 72 第20章 HIVE 安装 74 20.1 Hadoop安装 74 20.2 HIVE安装 77 20.3 Derby安装与设置 78 第21章 HIVE 数据类型 80 ...

    Hadoop的源起与体系介绍

     了解HDFS原理,能熟练地对HDFS中的文件进行管理  能独立完成pig的安装并且利用pig做简单的数据分析工作  能独立完成Hbase的安装和配置  了解Hbase的原理并能进行简单的shell操作  能独立完成Hive的安装和...

Global site tag (gtag.js) - Google Analytics