初识Hive-基本概念

1.什么是Hive

Hive是一个基于Hadoop的一个数据仓库工具,是将结构化数据文件映射成为一个数据表,并提供类SQL的查询功能

2.Hive可以对数据进行存储与计算(与Hadoop关系)

数据存储依赖于HDFS

数据计算依赖于MapReduce

在这里插入图片描述

3.Hive的意义(目的)

在Hadoop是个好软件,但不好使用(学习成本高,坡度陡,难度大)的前提下

降低了程序员使用Hadoop的学习成本,降低了学习难度

4.Hive的特点

可扩展性:与集群的扩展性相同

延展性:Hive提供自定义函数接口,支持HQL语句直接调用java方法

容错性:节点出现问题SQL扔可完成执行

5.Hive架构

-

基本组成

用户接口:包括CLI、JDBC/ODBC、WebGUI。

​ CLI:shell命令行

​ JDBC/ODBC:是Hive的JAVA实现,与传统数据库JDBC类似

​ WebGUI:是通过浏览器访问Hive

元数据存储

解释器,编译器,优化器,执行器

6.元数据

描述数据的数据就是元数据

包括

​ 表的名字

​ 表的列

​ 列的类型

通常是存储在关系数据库如mysql/derby中。Hive将元数据存储在数据库中。

7.Hive内部执行过程

解释器 —>编译器(会使用到元数据)—>优化器—>执行器

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

8.Hive基本介绍

在这里插入图片描述
Hive中没有定义专门的数据格式,用户提供的数据是什么格式,Hive直接将数据拷贝到集群。不会对数据格式进行改变。

用户定义数据格式需要制定三个属性:

​ 列分隔符(通常为空格、"\t"、"\x001")

​ 行分隔符("\n")

​ 读取文件数据的方法(Hive中默认有三个文件格式

​ TextFile,SequenceFileRCFile)

​ 不会对数据本身进行任何修改,甚至不会对数据进行扫描

​ Hive中不支持对数据的改写和添加(在一个文本中添加新数据)

​ Hive在加载数据的过程中不会对数据中的某些Key建立索引

总结:Hive具有sql数据库的外表,但应用场景完全不同,Hive只适合用来做批量数据统计分析

9.Hive内的基本概念(数据模型)

DB:数据库

Table:表(内部表)

External Table:外部表

Partition:分区

Bucket:分桶

Hive支持的数据格式

​ 可支持Text, SequenceFile ,ParquetFile,ORC格式RCFILE等

文章来自 大萝卜博客网 新人建站 求支持

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值