[Hive_1] Hive 基本概念

时间:2021-07-17 13:31:58

Hive 系列01

Hive 简介 & Hive 应用场景 & Hive 与 Hadoop 的关系 & Hive 与传统数据库对比


1. Hive 简介

  [ 官方介绍 ]

  Apache Hive™ 数据仓库软件有助于使用 SQL 读取、编写和管理驻留在分布式存储中的大型数据集。

  可以将结构投影到已存储的数据中。提供了命令行工具和 JDBC 驱动程序以将用户连接到 Hive。

  [ 通俗理解 ]

  Hive 就是在 Hadoop 上架了一层 SQL 接口,可以将 SQL 翻译成 MapReduce 去 Hadoop 上执行,这样就使得

  数据开发和分析人员很方便的使用 SQL 来完成海量数据的统计和分析,而不必使用编程语言开 MapReduce 那么麻烦。

  [ 最终理解 ]

  Hive 是 OLAP(online analyze process,在线分析处理)。通常称为数据仓库,简称数仓。内置很多分析函数,可进行海量数据的在线分析处理。

  Hive 构建在 Hadoop 之上,使用 HDFS 作为进行存储,计算过程采用的是 Mapreduce 完成,本质上 Hive 是对 Hadoop 的  MapReduce 的封装,通过原始的  MapReduce 方式进行数据处理与分析,往往效率较低,而且具有相当的复杂度,学习曲线较长。

  Hive 常用传统的 SQL 方式作为操作手段,极大的降低了学习曲线,毕竟大部分人对 SQL 还是比较熟悉的。但在运行时,仍然要将 SQL 进行翻译成 MapReduce 程序进行。


2. Hive 应用场景

  Hive 适用于离线数据的分析,操作的是通用格式的(如通用的日志文件)、被 Hadoop 管理的数据文件,它支持类 SQL,比编写 MapReduce 的 Java 代码来的更加方便,它的定位是数据仓库,存储和分析历史数据。


3. Hive 与 Hadoop 的关系

  3.1 关系

  1. Hive构建在 Hadoop 之上

  2. HQL 中对查询语句的解释、优化、生成查询计划是由 Hive 完成的

  3. 所有的数据都是存储在 HDFS 中

  4. 查询计划被转化为 MapReduce 任务,在 Hadoop 中执行(有些查询没有 MR 任务,如:select * from table)

  5. Hadoop 和 Hive 都是用 UTF-8 编码的

  3.2 Hive 语句和 MR 执行过程对应


4. Hive 与传统数据库对比

  4.1 对比1

# 结构化查询语言
SQL => struct query language # 类 SQL ,和 SQL 语句差别不大
HQL => hive query language # 不仅仅是 SQL ,和 SQL 语句差距较大
No SQL => not only SQL

  4.2 对比2

  1. 传统数据库 OLTP(online transaction process 在线事务处理)

# 事务:
ACID
A:atomic 原子性
C: consistent 一致性
I:isolation 隔离性
D: durability 持久性

# RDBMS(关系型数据库管理系统)
# 范式
# 第一范式
无重复的列,一列只能包含一个字段 # 第二范式
主键约束,一行只能被唯一标识

# 第三范式
非主键字段要严格依赖于主键字段

  2. Hive(OLAP:online analyze process 在线分析处理)

Hive 数据仓库:反范式设计,允许甚至推荐冗余

提供类似 SQL 的查询语言,我们称之为 HiveQL 或者 HQL

熟悉的,快速的,可伸缩的,可扩展的

 

[Hive_1] Hive 基本概念的更多相关文章

  1. hive学习1(hive基本概念)

    hive基本概念 hive简介 hive是什么 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能. 为什么使用hive 1)简单易上手.提 ...

  2. Hive从概念到安装使用总结

    一.Hive的基本概念 1.1 hive是什么? (1)Hive是建立在hadoop数据仓库基础之上的一个基础架构: (2)相当于hadoop之上的一个客户端,可以用来存储.查询和分析存储在hadoo ...

  3. Hive基础概念、安装部署与基本使用

    1. Hive简介 1.1 什么是Hive Hives是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能. 1.2 为什么使用Hive ① 直接使用 ...

  4. 大数据开发实战:离线大数据处理的主要技术--Hive,概念,SQL,Hive数据库

    1.Hive出现背景 Hive是Facebook开发并贡献给Hadoop开源社区的.它是建立在Hadoop体系架构上的一层SQL抽象,使得数据相关人员使用他们最为熟悉的SQL语言就可以进行海量数据的处 ...

  5. Hive(一)【基本概念、安装】

    目录 一. Hive基本概念 1.1 Hive是什么 1.2 Hive的优缺点 1.3 Hive的架构 1.4 Hive和数据库的区别 二. Hive安装 2.1 安装地址 2.2 Mysql的安装 ...

  6. Hive Tutorial(上)(Hive 入门指导)

    用户指导 Hive 指导 Hive指导 概念 Hive是什么 Hive不是什么 获得和开始 数据单元 类型系统 内置操作符和方法 语言性能 用法和例子(在<下>里面) 概念 Hive是什么 ...

  7. 《OD学hive》第四周0717

    一.Hive基本概念.安装部署与初步使用 1. 后续课程 Hive 项目:hadoop hive sqoop flume hbase 电商离线数据分析 CDH Storm:分布式实时计算框架 Spar ...

  8. Hive详解

    1.   Hive基本概念 1.1  Hive简介 1.1.1 什么是Hive Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能. 1.1 ...

  9. hive入门(一)、什么是hive

    1.Hive 基本概念 Hive是基于Hadoop的一个 数据仓库工具,可以将结构化的数据文件映射成一张表,并提供类SQL查询功能: Hive是构建在Hadoop 之上的数据仓库: 使用HQL作为查询 ...

随机推荐

  1. Mysql 拼接字段查询语句和join查询拼接和时间查询

    个人平时记录的,有点乱 1.修改时间字段,如果时间字段的类型是date或者是datetime类型的 update 表名 set 时间字段 = DATE_FORMAT(NOW(),'%Y-%m-%d % ...

  2. hdu 3717

    思路:二分答案,然后模拟消灭石头的过程: 如果单纯的暴力模拟的话,肯定会T的: 所以要用到一定的技巧来维护: 在网上看到大神们用O(n)的复杂度来优化,真心orz: 原理是这样的:用一个变量sum_2 ...

  3. broadcom6838开发环境实现函数栈追踪

    在嵌入式设备开发中.内核为内核模块的函数栈追踪已经提供了非常好的支持,但用户层的函数栈追踪确没有非常好的提供支持. 在网上收集学习函数栈跟踪大部分都是描写叙述INTER体系架构支持栈帧的实现机制.或者 ...

  4. JMeter循环控制器循环次数使用变量控制注意事项

    1.进入循环控制器之前变量要有值: 2.BeanShell处理文件,读取行数,赋值给变量,要有相应的Sampler,不然脚本不会运行. 对于单个线程来说,假如设置了循环2次,线程启动后,运行结束,此时 ...

  5. 我所犯的JavaScript引用错误

    近期在w3cschool学习JavaScript和php--学完后,开始帮一哥们友情写网站.但是在使用ajax和Jquery的时候发现,我自己写的脚本不能运行.捣鼓了半天,没有发现任何语句错误.调试器 ...

  6. Shell基础知识(六)

    shell中有很多内建命令,如何区分内建命令与外部文件,使用type command即可看到命令类型. >> type cd # input << cd is a Shell ...

  7. 【AGC005F】简单的问题 Many Easy Problems

    Description 链接 Solution 对于每个\(k\),统计任选\(k\)个点作为关键点的"最小生成树"的大小之和 正向想法是枚举或者计算大小为\(x\).叶子数目为\ ...

  8. Android——图片视图&lpar;ImageView&rpar;、状态开关按钮&lpar;ToggleButton&rpar;、时钟、图片透明度、滚动和时间选择器

    activity_ui1.xml dth="wrap_content" android:layout_height="wrap_content" android ...

  9. Secure Shell相关设置

    1.清空known hosts记录 ctrl+shift+j调出js控制台后,输入: term_.command.removeAllKnownHosts()

  10. 洛谷P3459 &lbrack;POI2007&rsqb;MEG-Megalopolis &lbrack;树链剖分&rsqb;

    题目传送门 MEG 题目描述 Byteotia has been eventually touched by globalisation, and so has Byteasar the Postma ...