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. DDA, Bresenham line's algorithm and Voxel Traversal used in the Grid-Accelerator in PBRT

        - DDA(Digital Differential Analyzer, 数值微分法) -    计算机图形学中,经常会遇到一些计算机中”经典“的问题.例如,如何利用计算机”离散“的特质,模拟 ...

  2. Java 容器源码分析之1.7HashMap

    以下内容基于jdk1.7.0_79源码: 什么是HashMap 基于哈希表的一个Map接口实现,存储的对象是一个键值对对象(Entry<K,V>): HashMap补充说明 基于数组和链表 ...

  3. Spring 环境与profile(二)——Properties with Spring

    1. 简述 Spring profile用例,分3个场景(Test, Dev, Prod)相对Spring 环境与profile(一)——超简用例多了根据具体的profile获取对应的Properti ...

  4. JavaScript时间操作工具类

    /** * 时间操作工具类 * * @author zwq * */ var TimeFrameUtil = { /** * 格式化日期 * @param date {Date} 日期 * @para ...

  5. (转)注解用法详解—@@SuppressWarnings

    一.前言 编码时我们总会发现如下变量未被使用的警告提示: 上述代码编译通过且可以运行,但每行前面的“感叹号”就严重阻碍了我们判断该行是否设置的断点了.这时我们可以在方法前添加 @SuppressWar ...

  6. spring配置文件引入properties文件:<context:property-placeholder>标签使用总结

    一.问题描述: 1.有些参数在某些阶段中是常量,比如: (1)在开发阶段我们连接数据库时的连接url.username.password.driverClass等 (2)分布式应用中client端访问 ...

  7. 使用whiptail开发linux环境交互式对话框

    #!/bin/bash oem=$(/bin/cat /opt/jdwa/etc/oem) systype=$(/bin/cat /opt/jdwa/etc/systype) export selec ...

  8. UVa 11988 Broken Keyboard(数组模拟链表)

    题目链接: https://cn.vjudge.net/problem/UVA-11988 /* 问题 将一段文本经过一定的规则处理后输出,规则就是[表示home键,表示光标跳到行首,]表示end键, ...

  9. thinkphp ajax删除 隐藏与显示

    知识点: 1.ajax删除: 2.一个同步实现三个异步的效果. html 部分 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transit ...

  10. Ubuntu安装完成后设置root密码

    安装完ubuntu后没有默认的root密码,如果要设置root密码需要进行如下步骤: 1 sudo passwd 2 连续输入两次新密码