Hive简介

什么是Hive

  1. Hive由Facebook实现并开源
  2. 是基于Hadoop的一个数据仓库工具
  3. 可以将结构化的数据映射为一张数据库表
  4. 提供HQL(Hive SQL)查询功能
  5. 底层数据是存储在HDFS上
  6. Hive的本质是将SQL语句转换为MapReduce任务运行
  7. 使不熟悉MapReduce的用户很方便地利用HQL处理和计算HDFS上的结构化数据,适用于离线的批量数据计算

为什么使用Hive

​ 直接使用MapReduce所面临的问题:

  1. 人员学习成本太高
  2. 项目周期要求太短
  3. MapReduce实现复杂查询逻辑开发难度太大

为什么要使用Hive:

  1. 更友好的接口:操作接口采用类SQL的语句,提供快速开发的能力
  2. 更低的学习成本:避免了写MapReduce,减少开发人员的学习成本
  3. 更好的扩展性:可自由扩展集群规模而无需重启服务,还支持用户自定义函数

Hive的特点

​ 优点:

  1. 可扩展性、横向扩展:Hive可以自由的扩展集群的规模,一般情况下不需要重启服务。

    • 横向扩展:通过分担压力的方式扩展集群的规模
    • 纵向扩展:一台服务器cpu i7
  2. 延展性:

  3. 良好的容错性

    缺点:

  4. Hive不支持记录级别的增删改查
  5. Hive的查询延迟很严重
  6. Hive不支持事务

Hive和RDBMS的对比

对比项 Hive RDBMS
查询语言 HQL SQL
数据存储 HDFS Raw Device or Local FS
执行器 MapReduce Executor
数据插入 支持批量导入/单条插入 支持批量导入/单条插入
处理数据规模
执行延迟
分区 支持 支持
索引 0.8版本之后加入简单索引 支持复杂的索引
扩展性 高(好) 有限(查)
数据加载模式 读时模式(快) 写时模式(慢)
应用场景 海量数据查询 实时查询

总结:

​ Hive具有SQL数据库的外表,但应用场景完全不同,Hive只适合用来做海量离线数据统计分析,也就是数据仓库。

Hive架构

1. 用户接口:shell/CLI,jdbc/odbc.webui Command Line Interface

CLI,Shell终端命令行(Command Line Interface),采用交互形式使用hive命令与Hive进行交互,最常用(学习,调试,生产)

2.跨语言服务:thrift server 提供了一种能力,让用户可以使用多种不同的语言来操作Hive

3.底层的Driver:驱动器Driver,编辑器Compiler,优化器Optimizer,执行器Executor

4.元数据存储系统:RDBMS MySQL

元数据:通俗的讲,就是存储在Hive中的数据的描述信息。

Hive学习之路(一)Hive初识的更多相关文章

  1. [转帖]Hive学习之路 (一)Hive初识

    Hive学习之路 (一)Hive初识 https://www.cnblogs.com/qingyunzong/p/8707885.html 讨论QQ:1586558083 目录 Hive 简介 什么是 ...

  2. Redis——学习之路四(初识主从配置)

    首先我们配置一台master服务器,两台slave服务器.master服务器配置就是默认配置 端口为6379,添加就一个密码CeshiPassword,然后启动master服务器. 两台slave服务 ...

  3. Redis——学习之路三(初识redis config配置)

    我们先看看config 默认情况下系统是怎么配置的.在命令行中输入 config get *(如图) 默认情况下有61配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息.     ...

  4. Redis——学习之路二(初识redis服务器命令)

    上一章我们已经知道了如果启动redis服务器,现在我们来学习一下,以及如何用客户端连接服务器.接下来我们来学习一下查看操作服务器的命令. 服务器命令: 1.info——当前redis服务器信息   s ...

  5. Hive学习之路 (一)Hive初识

    Hive 简介 什么是Hive 1.Hive 由 Facebook 实现并开源 2.是基于 Hadoop 的一个数据仓库工具 3.可以将结构化的数据映射为一张数据库表 4.并提供 HQL(Hive S ...

  6. Hive学习之路 (二十一)Hive 优化策略

    一.Hadoop 框架计算特性 1.数据量大不是问题,数据倾斜是个问题 2.jobs 数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次 汇总,产生十几个 jobs,耗时很长.原 ...

  7. Hive学习之路 (二)Hive安装

    Hive的下载 下载地址http://mirrors.hust.edu.cn/apache/ 选择合适的Hive版本进行下载,进到stable-2文件夹可以看到稳定的2.x的版本是2.3.3 Hive ...

  8. Hive学习之路 (二十)Hive 执行过程实例分析

    一.Hive 执行过程概述 1.概述 (1) Hive 将 HQL 转换成一组操作符(Operator),比如 GroupByOperator, JoinOperator 等 (2)操作符 Opera ...

  9. Hive学习之路 (十八)Hive的Shell操作

    一.Hive的命令行 1.Hive支持的一些命令 Command Description quit Use quit or exit to leave the interactive shell. s ...

  10. Hive学习之路 (十一)Hive的5个面试题

    一.求单月访问次数和总访问次数 1.数据说明 数据字段说明 用户名,月份,访问次数 数据格式 A,, A,, B,, A,, B,, A,, A,, A,, B,, B,, A,, A,, B,, B ...

随机推荐

  1. python接口自动化:调试接口的代码(无token情况下)

    实现代码如下: #接口调试 import requests,time class api_demo1: def __init__(self,RequestWay,url,data): self.s=r ...

  2. C++[Tarjan求点双连通分量,割点][HNOI2012]矿场搭建

    最近在学图论相关的内容,阅读这篇博客的前提是你已经基本了解了Tarjan求点双. 由割点的定义(删去这个点就可使这个图不连通)我们可以知道,坍塌的挖煤点只有在割点上才会使这个图不连通,而除了割点的其他 ...

  3. 介绍一款代理端口管理工具--Proxfier

    官网下载地址: https://www.proxifier.com/download/ProxifierSetup.exe 用户名随意填注册码下边 5EZ8G-C3WL5-B56YG-SCXM9-6Q ...

  4. Websocket如何建立连接

    前面提到,WebSocket复用了HTTP的握手通道.具体指的是,客户端通过HTTP请求与WebSocket服务端协商升级协议.协议升级完成后,后续的数据交换则遵照WebSocket的协议. 1.客户 ...

  5. (4.14)mysql备份还原——mysql物理热备工具之ibbackup

    关键词:mysql热备工具,ibbackup,mysql物理备份工具 1. 准备 ibbackup 是 InnoDB 提供的收费工具,它支持在线热备 InnoDB 数据,主要有以下特性: * Onli ...

  6. flume 进阶

    一.flume事务 put事务流程: 1.doPut:将批量数据先写入临时缓冲区putList 2.doCommit:检查Channel内存队列是否足够, (1)达到一定时间没有数据写入到putLis ...

  7. 移动端自动化测试之Appium的工作原理学习

    Appium 简介 参考官网文档说明:http://appium.io/docs/en/about-appium/intro/ Appium官方文档上介绍,Appium 是一个自动化测试的开源工具,支 ...

  8. [Codeforces 1191D] Tokitsukaze, CSL and Stone Game(博弈论)

    [Codeforces 1191D] Tokitsukaze, CSL and Stone Game(博弈论) 题面 有n堆石子,两个人轮流取石子,一次只能从某堆里取一颗.如果某个人取的时候已经没有石 ...

  9. Django之模板(T)

    一, 常用语法 Django模板中只需要记两种特殊符号: {{ }}和 {% %} {{ }}表示变量,在模板渲染的时候替换成值,{% %}表示逻辑相关的操作. 一, 变量 语法: {{ 变量名 }} ...

  10. React.memo

    介绍React.memo之前,先了解一下React.Component和React.PureComponent. React.Component React.Component是基于ES6 class ...