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客户端。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/47954.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python学习笔记40:游戏篇之外星人入侵(一)

前言 入门知识已经学完,常用标准库也了解了,pygame入门知识也学了,那么开始尝试小游戏的开发。 当然这个小游戏属于比较简单的小游戏,复杂的游戏需要长时间的编写累计开发经验,同时也需要一定的时间才能编写出来。现在的话还是嫩…

2024年7月16日(使用光盘创建本地仓库,引入网络镜像仓库,创建自建仓库)

了解yum源安装包的特点 了解常用的网络yum源 掌握本地和网络yum源的配置 能够使用yum工具安装软件包 rpm -ivh xxx 手动添加依赖 yum不止执行安装,会自动处理依赖安装 1、yum优点 rpm安装 (下载软件 单独安装 需要解决依赖关系) 源码安装 &am…

海外媒体发稿-瑞典SEO破茧成蝶:从0到10的实战精要-大舍传媒

海外媒体发稿-瑞典SEO破茧成蝶:从0到10的实战精要 一、迷茫与意义的探寻 有一天我找了王老师聊天,谈到生活迷茫和人生的意义。老师说了一段话:当全情投入于一件事情时,是没有时间去迷茫或思索人生意义的。我感触很深,当总感到迷…

linux服务器配置conda环境安装教程

1 软件准备 1.1 软件下载 https://repo.anaconda.com/archive/index.html 根据官网选择自己需要的版本。 这里下载的是 Anaconda3-2023.03-1-Linux-x86_64.sh 或者直接在linux中输入 wget -c https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh 1.…

操作系统内核源码杂谈篇:临界区

临界资源,是指同一时刻只能由一个线程(linux下为进程)访问的资源,而临界区就是为了确保临界资源访问是单一数据流。 临界区的代码执行,也就是进行原子操作,不会被打断。 先分析RTOS的运行架构&#xff0c…

Paypal个人支付申请及沙箱测试配置

目录 一. 申请paypal账号二. Sanbox 测试配置申请买家Account申请卖家AccountSandbox的Client ID及密钥申请Live的Client ID及密钥申请IPN回调设置 一. 申请paypal账号 浏览器输入https://www.paypal.com, 单击注册按钮 2. 我这里申请个人账户,如果你需要企业账户&…

AI绘画入门实践|Midjourney 的模型版本

模型分类 Midjourney 的模型主要分为2大类: 默认模型:目前包括:V1, V2, V3, V4, V5.0, V5.1, V5.2, V6 NIJI模型:目前包括:NIJI V4, NIJI V5, NIJI V6 模型切换 你在服务器输入框中输入 /settings: 回车后…

【深度学习驱动智能超材料设计与应用】

在深度学习与超材料融合的背景下,不仅提高了设计的效率和质量,还为实现定制化和精准化的治疗提供了可能,展现了在材料科学领域的巨大潜力。深度学习可以帮助实现超材料结构参数的优化、电磁响应的预测、拓扑结构的自动设计、相位的预测及结构…

抖音矩阵系统源码开发部署流程分享

#短视频矩阵源码 #短视频矩阵 #源码交付 抖音矩阵系统源码开发部署流程如下: 环境配置:首先,需要安装并配置开发环境,包括安装Java JDK、MySQL数据库、Eclipse开发工具等。 数据库设计:根据抖音矩阵系统的需求&…

【数字IC/FPGA】书籍推荐(2)----《那些年,我们拿下了FPGA》

在下这几年关于数字电路、Verilog、FPGA和IC方面的书前前后后都读了不少,发现了不少好书,也在一些废话书上浪费过时间。接下来会写一系列文章,把一部分读过的书做个测评,根据个人标准按十分制满分来打分分享给大家。 概述 &#x…

【C语言】全面解析冒泡排序

文章目录 什么是冒泡排序?冒泡排序的基本实现代码解释冒泡排序的优化冒泡排序的性能分析冒泡排序的实际应用结论 在C语言编程中,排序算法是一个非常基础且重要的概念。冒泡排序作为最简单、最易理解的排序算法之一,广泛应用于各种编程教学和实…

在VS Code上搭建Vue项目教程(Vue-cli 脚手架)

1.前期环境准备 搭建Vue项目使用的是Vue-cli 脚手架。前期环境需要准备Node.js环境,就像Java开发要依赖JDK环境一样。 1.1 Node.js环境配置 1)具体安装步骤操作即可: npm 安装教程_如何安装npm-CSDN博客文章浏览阅读836次。本文主要在Win…

使用NIFI连接瀚高数据库_并从RestFul的HTTP接口中获取数据局_同步到瀚高数据库中---大数据之Nifi工作笔记0067

首先来看一下如何,使用NIFI 去连接瀚高数据库. 其实,只要配置好了链接的,连接字符串,和驱动,任何支持JDBC的数据库都可以连接的. 首先我们用一个ListDatabaseTables处理器,来连接瀚高DB 主要是看这里,连接地址,以及驱动,还有驱动的位置 这个是数据连接的配置 jdbc:highgo://…

什么是上网行为审计系统?有哪些功能?

上网行为审计系统是一种网络安全与管理工具,用于监控、记录和分析组织内部网络用户的上网行为。 这种系统旨在帮助企业或组织了解员工如何使用网络资源,确保合规性,预防安全风险,并优化网络性能。以下是上网行为审计系统的主要功…

基于SpringBoot的招聘信息管理系统

你好呀,我是计算机学姐码农小野!如果有相关需求,可以私信联系我。 开发语言:Java 数据库:MySQL 技术:SpringBootMyBatis 工具:IDEA/Eclipse、Navicat、Maven 系统展示 首页 个人中心 用户…

JavaScript中==和===的区别

🧑‍💻 写在开头 点赞 收藏 学会🤣🤣🤣 前言 JavaScript 中的相等运算符无疑是新手开发者最容易混淆的知识点之一。 和这两个运算符的细微差别往往会在代码中造成一些令人困惑的行为 在本文中,我们将深入探讨这两个…

数据结构-冒泡排序

1 概念 冒泡排序属于一种常见的交换排序,根据序列中两个元素关键字的比较结果来对换这两个记录在序列中的位置。具体操作是按顺序(从前往后或从后往前)两两对比元素直至本次排序结束,每次排序确认一个固定值(末位或首…

Linux——远程连接服务器

sshd服务端 ssh客户端 ssh 服务配置 #ssh 服务安装包 openssh-server [rootserver1 ~] # vim /etc/ssh/sshd_config 17 . #Port 22 # 监听端口,默认监听 22 端口 【默认可修改】 18 . #AddressFamily any #IPV4 和 IPV6 协议家族用哪个, any 表示二者…

园区AR导航系统构建详解:从三维地图构建到AR融合导航的实现

随着现代园区规模的不断扩大与功能的日益复杂,传统的二维地图导航已难以满足访客高效、精准定位的需求。园区内部错综复杂的布局、频繁变更的商户位置常常让访客感到迷茫,造成寻路上的时间浪费。园区AR导航系统以创新的技术手段,破解了私域地…

同三维T610UH2L2-4K60 USB双路高清HDMI采集卡:高清HDMI采集卡

采集2路4K60HDMI信号,带2路HDMI环出,带1路LINE IN1路MIC和1路LINE OUT,4K60,USB3.0免驱 来百度APP畅享高清图片 高清HDMI采集卡 一、产品介绍 同三维T610UH2L2-4K60是一款USB双路4K60HDM采集卡,可采集双路4K60超高清HDMI信号,分…