Hive初识

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yuanyi0501/article/details/83062852

Hive

  • 由Facebook开源用于解决海量结构化日志的数据统计
  • hive是基于hadoop的一个数据仓库工具,可以将结构化的数据文件映射成一张表,并提供类似sql查询功能
  • 构架在Hadoop上的数据仓库:
    • 使用hql作为查询接口
    • 使用HDFS存储
    • 使用mapreduce计算
      本质是将hql转化成mapreduce程序
  • 灵活性和扩展性比较好
  • 适合离线数据处理

架构图:

面试必问
在这里插入图片描述
HQL
| -----------------------Engine——>hive
MapReduce

RMDBS

  • 表的概念;
    create table bf_log(
    ip string,
    user string,
    date string,

    )
  • 表的元数据——》Metastore
    • 包括:表名、表所属的数据库、表的拥有者、列、字段、表的类型、表数据所在的目录等等。

Driver驱动器——>将hql转换成mapreduce

  • 解析器——》SQL Parser
  • 优化器——》Query Optimizer
  • 经过优化器形成物理的计划——》Physical Plan
  • 最后按照物理计划执行——》Execution

优点

  • 操作接口采用类sql语法,提供快速开发的能力
  • 避免了写mapreduce,减少开发人员的学习成本
  • 统一的元数据管理,可以和impala/spark等共享数据
  • 易扩展,可以扩展集群规模,支持自定义函数

使用场景

  • 数据的离线处理:比如:日志分析、海量结构化数据离线分析
  • hive执行延迟比较高,适用于数据分析对实时性要求不高的场合
  • 优势在于处理大数据

猜你喜欢

转载自blog.csdn.net/yuanyi0501/article/details/83062852