当前位置: 首页 > news >正文

Hive理论讲解

Hive介绍

1、Hive本质

Hive本质是【数仓设计方案】,hive本身并不存储数据【数据包含:元数据 + (表)数据】。

2、hql和sql对比

  1. sql = 结构化查询语言【structured query language】
  2. hql = hive/hadoop类sql查询语言【hive/hadoop query language like sql】
    说明:对于hql而言,表面是sql。实际上,数据存储HDFS执行引擎Spark,MapReduce,Pig,Tez等

3、数据存储

  • 元数据存储于RDB[关系型数据库]中。其默认存储于DERBY中,但一般在生产环境下存储于mysql中。
  • (表)数据存储于HDFS中。

补充:元数据的讲解

元数据(Metadata)是指描述数据的数据,它提供关于数据集、资源、文件、系统或者业务流程的额外信息,其中就包含库名,表名,字段,数据类型等。
在Hive中,元数据则是由HiveMetaStore统一管理,进行存储、管理、保护和查询等操作。

4、计算引擎

MapReduce

  • Map:清洗,列变形,列裁剪
  • Map+Reduce:聚合

Spark

  • 1、Job中间输出结果可以保存在内存,不再需要读写HDFS
  • 2、速度快,比MapReduce平均快10倍以上

5、Hive层次结构【元数据映射】

逻辑结构物理结构
文件夹(与库同名.db)
文件夹(与表同名)
分区文件夹 (格式:分区字段名=分区字段值)
数据文件
分桶小文件(目的:抽样和数据修改)

6、Hive执行过程

1.UI客户端发出请求 executeQuery[执行查询语句]
2.Driver[驱动] 通过 Compiler 进行编译
3.Compiler 需要向 MetaStore 请求元数据。
编译过程:Compiler[驱动] 得到 元数据 后先 生成 逻辑执行计划 再 通过优化形成 物理执行计划
4.将 物理执行计划 通过 Driver[驱动] 交给 ExecutionEngine[执行引擎]
5.ExecutionEngine[执行引擎] 将 物理执行计划 交给 hadoop的MapReduce进行job任务。
6.最终结果落盘到datanode上。
7.UI客户端 向 Driver[驱动] 发起请求 fetchResults
8.Driver 通过 ExecutionEngine[执行引擎] 从 datanode 上将数据拉过来,交给 UI客户端。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 如何恢复 Excel 文件 [未保存/覆盖/删除]
  • 云手机结合自主ADB命令接口 提升海外营销效率
  • 使用VuePress-Reco快速搭建博客(保姆级)
  • linux进程——状态——linux与一般操作系统的状态
  • GraphRAG的实践
  • django实现用户的注册、登录、注销功能
  • jenkins+gitlab+harbor+maven自动化容器部署
  • Eureka基本概念
  • 【NLP实战】基于TextCNN的新闻文本分类
  • 5G mmWave PAAM 开发平台
  • Python爬虫实战 | 爬取携程网景区评论|美食推荐|景点列表数据
  • LeetCode岛屿的最大面积(深度搜索)/什么是深搜,简单案例回顾图用邻接表实现图的深度优先遍历。
  • 深度学习入门——与学习相关的技巧
  • 学习记录--GPT
  • QT获取电脑网卡IP等信息
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • ES10 特性的完整指南
  • hadoop集群管理系统搭建规划说明
  • IDEA常用插件整理
  • javascript从右向左截取指定位数字符的3种方法
  • js正则,这点儿就够用了
  • oldjun 检测网站的经验
  • React-Native - 收藏集 - 掘金
  • springboot_database项目介绍
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 我从编程教室毕业
  • 用Canvas画一棵二叉树
  • 正则与JS中的正则
  • 06-01 点餐小程序前台界面搭建
  • No resource identifier found for attribute,RxJava之zip操作符
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • (~_~)
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (13)DroneCAN 适配器节点(一)
  • (7)摄像机和云台
  • (C语言)逆序输出字符串
  • (Matlab)使用竞争神经网络实现数据聚类
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (不用互三)AI绘画:科技赋能艺术的崭新时代
  • (含笔试题)深度解析数据在内存中的存储
  • (力扣)循环队列的实现与详解(C语言)
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (转)我也是一只IT小小鸟
  • (转载)Linux网络编程入门
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • ***测试-HTTP方法
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .Mobi域名介绍
  • .net core 6 redis操作类
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .NET delegate 委托 、 Event 事件