hive 理解

本文详细介绍了Hive的概念、特点、与Hadoop和传统数据库的对比,以及Hive的延迟问题。内容涵盖Hive的内部结构、执行流程、交互方式、数据加载、导出和自定义函数实现。还深入讨论了Hive的优化策略,如Fetch抓取、本地模式、数据倾斜处理等,以及Hive的配置方法和数据压缩算法。对于Hive的使用者,本文提供了全面的知识指南。
摘要由CSDN通过智能技术生成

1、什么是Hive

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

2、Hive诞生的意义

降低学习难度,学习成本,让大部分程序员都能够使用HADOOP集群。

3、Hive特点

可扩展,Hive依赖HADOOP,存储使用HDFS,计算使用MapReduce,Hive的扩展能力实际就是HDFS,MapReduce的扩展能力。
延展性,Hive支持自定义函数,用于实现已经提供的函数无法计算的业务。
容错,节点出现问题SQL仍可完成执行,本质就是MapReduce的多次重试。

4、Hive内部组成及执行流程

在这里插入图片描述

5、Hive和Hadoop的关系

Hive存储依赖HDFS,计算依赖MapReduce。(Hive站在巨人(hadoop)的肩膀上)
Tez  是MapReduce升级版,一个计算引擎比MapReduce更快。
Hive的执行引擎也可以换成Tez.

6、Hive和传统数据库(Mysql/Oracle)的区别

![在这里插入图片描述](https://img-blog.csdnimg.cn/20201130204702437.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0R3aXdod2pk,size_16,color_FFFFFF,t_70)

7、Hive延迟较高的原因

Hive内部解析、编译等流程需要时间。提交任务后,提交到Yarn,Yarn内部调度机制需要时间。Hive内的数据较大,比较耗时。

8、Hive常识

1.数据格式。Hive中没有定义专门的数据格式,数据格式可以由用户指定,用户定义数据格式需要指定三个属性:列分隔符(通常为空格、”\t”、”\x001″)、行分隔符(”\n”)以及读取文件数据的方法(Hive 中默认有三个文件格式 TextFile,SequenceFile 以及 RCFile)。

2.Hive在加载数据的过程中,不需要从用户数据格式到 Hive 定义的数据格式的转换。

3.Hive 在加载的过程中不会对数据本身进行任何修改,甚至不会对数据进行扫描。而只是将数据内容复制或者移动到相应的 HDFS 目录中。

4.Hive 中不支持对数据的改写和添加,所有的数据都是在加载的时候中确定好的。

5.Hive 在加载数据的过程中不会对数据中的某些 Key 建立索引。Hive 要访问数据中满足条件的特定值时,需要暴力扫描整个数据,因此访问延迟较高。由于数据的访问延迟较高,决定了Hive 不适合在线数据查询。

6.Hive 是建立在 Hadoop 之上的,因此 Hive 的可扩展性是和 Hadoop 的可扩展性是一致的。

9、Hive交互方式

第一种

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魔界小皮蛋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值