当前位置:   article > 正文

hive学习(一)之Hive简介和数据组织形式_简述hive的特点

简述hive的特点

一、hive是什么

基于hadoop,数据存储在hdfs上并且对客户端提供hql支持,将hql语句转换为mapreduce任务的数仓工具

二、hive的特点

1、Hive是由Facebook实现并开源的

2、Hive是基于Hadoop的一个数据仓库工具

2.1基于hadoop主要是以下两个方面

  • hive中的表中的数据存储在hdfs上,存储完全依赖于hdfs;
  • hive最终计算使用的默认mapreduce,资源调度使用yarn。

2.2数据仓库工具(data warehouse,简称DW)

存储数据更加像一个数据的管理工具,用户存储各种用于分析的数据 存储的数据量比较庞大的、结构复杂的 、大数据集的管理工具

2.2.1数据库和数据仓库的区别
  • 数据库中一般存储某一个分析结果——强调的是结果
  • 数据仓库是面向主题的——强调的是过程
    例如:数据分析过程,各个层级的数据
    原始日志flow.log
    抽层 :
    etl
    原始数据加工
    细化 将需要分析的字段 抽出来 存储在一个个表中
    分析基于仓库中的数据
①使用场景上

介绍两种场景,OLTP和OLAP:
OLTP On line Transaction Processing 联机事务处理,倾向于增 删 改
OLAP On line analysis Processing 联机分析处理,倾向于查询

  • 数据库:更加倾向于OLTP
  • 数据仓库:更加倾向于OLAP
    hive不支持数据delete update,支持insert但是insert的效率极低
②模式上
  • 数据库mysql --写模式
    数据写入的时候校验
  • hbase/nosql --无严格模式
  • 数据仓库hive—读模式
    数据读取的时候校验
③事务支持上

数据仓库:不擅长事务,hive不支持事务;
数据库:mysql支持事务

3、可以将结构化的数据映射为一张数据库表

结构化的一条数据-----表中一行数据
结构化每一个字段-----表中的一个列

4、提供 HQL(Hive SQL)查询功能

对客户端提供hql查询

5、底层数据是存储在 HDFS

6、Hive的本质是将 SQL 语句转换为 MapReduce任务运行

hql----mapreduce

7、使不熟悉 MapReduce 的用户很方便地利用 HQL 处理和计算 HDFS 上的结构化的数据

节省开发成本

8、适用于离线的批量数据计算

这其实是hadoop的特点,因为hive是构建与hdfs之上,所以它继承了这个特点

三、Hive架构

1、用户接口层

hive中接口层有以下几种:

  • CLI 命令行 hive
  • JDBC/ODBC
  • java程序操作hive
  • web ui,不过网页访问一般不用,因为界面不美观和配置繁琐

2、trift server层——跨语言服务层

将其他语言转换为hive能够识别的语言

3、元数据存储层 meta store

元数据是描述hive真实存储数据的数据
hive中表的相关信息(除了表数据以外的信息)
表和hdfs数据的路径对应关系;
表中的字段类型;
表中字段的顺序;
表的创建时间等这些信息就叫做hive的元数据信息

hive的元数据信息存储的时候采用格式化存储,存储在关系型数据库中,默认的元数据存储数据库derby ,derby存储的时候有缺陷,一般生产上换成mysql
hive表数据存储hdfs,元数据存储在关系型数据库

4、核心驱动层Driver

Driver是将hql转化为mapreduce执行的的组件,它由以下几个部分组成&

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/396672
推荐阅读
相关标签
  

闽ICP备14008679号