Hive

简介

Hive由FaceBook开源用于解决海量结构化日志的数据统计技术

Hive是基与Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行

image

什么是Hive?

  • Hive是一个翻译器:SQL--->Hive引擎--->MapReduce程序

    Hive是构建在HDFS上的一个数据仓库(Data Warehouse)

Hive HDFS
目录
分区 目录
数据 文件
文件

​ Hive支持SQL

为什么使用Hive

​ 降低学习MapReduce的难度,使DBA,运维人员可以通过SQL来实现

image

  • Hive默认储存在HDFS上

  • Hive分析数据底层的默认实现时MapReduce

  • 执行程序运行在yarn上

优点

  1. 操作接口采用了SQL语法,提供快速开发能力,简单易上手
  2. 避免了写MapReduce,减少了开发人员的学习成本
  3. Hive的执行延迟比较高,更适合对实时性要求不高的场合
  4. Hive适合于处理大数据量的统计
  5. Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数

缺点

  1. Hive的HQL表达能力有限,迭代式算法无法表达,不擅长数据挖掘
  2. Hive的效率比较低,自动生成的MapReduce的作业,通常不够智能化,个性化
  3. Hive的调优难度较高

Hive体系结构

image

Hive的工作原理

image

Hive与数据库的对比

特性 数据库 Hive
查询语言 SQL HQL
存储位置 块设备或本地文件系统 HDFS
数据更新 Update 不建议修改,建议追加
索引 建立索引,提高效率降低延迟 没有索引,暴力搜索。使用MapReduce进行并行访问
执行引擎 InnoDB等引擎 MapReduce
延迟 延迟较低 延迟较高
数据规模 较小 大数据(超出数据库处理能力)
可扩展性 一般(Oracle理论最多100台) 优秀(其实就是Hadoop的扩展性)
posted @ 2021-06-01 10:07  Karl1  阅读(70)  评论(0编辑  收藏  举报