摸鱼大数据——Hive基础理论知识——Hive基础架构

1、Hive和MapReduce的关系

1- 用户在Hive上编写数据分析的SQL语句,然后再通过Hive将SQL语句翻译成MapReduce程序代码,最后提交到Yarn集群上进行运行
2- 大家可以将Hive理解成有道词典,帮助你翻译英文

2、Hive架构

用户接口: 包括 CLI、JDBC/ODBC、WebGUI。其中,CLI(command line interface)为shell命令行;Hive中的Thrift服务器允许外部客户端通过网络与Hive进行交互,类似于JDBC或ODBC协议。WebGUI是通过浏览器访问Hive。Hive提供了 Hive Shell、 ThriftServer等服务进程向用户提供操作接口

Hiveserver2(Driver): 包括了语法、词法检查、计划编译器、优化器、执行器。核心作用是完成对HiveSQL(HQL)语句从词法、语法检查,并且进行编译、优化以及查询计划的生成。生成的查询计划存储在HDFS中,并在随后由MapReduce进行执行。
注意: 这部分内容不是具体的进程,而是封装在Hive所依赖的jar中通过Java代码实现。

元数据信息: 包含用Hive创建的Database、table,以及表里面的字段等详细信息
元数据存储: 存储在关系型数据库(RDBMS  relation database manager system)中。例如:Hive中有一个默认的关系型数据库是Derby,但是一般会改成MySQL。


Metastore: 是一个进程(服务),用来管理元数据信息。
作用: 客户端连接到Metastore中,Metastore再去关系型数据库中查找具体的元数据信息,然后将结果返回给客户端。
特点: 有了Metastore服务以后,就可以有多个客户端(工作中一般使用的就是DataGrip)同时连接。而且这些客户端都不需要知道元数据存储在什么地方,你只需要连接到Metastore服务里面就行。

3、MetaStore元数据管理服务

metastore服务配置有3种模式: 内嵌模式、本地模式、远程模式

推荐使用: 远程模式

内嵌模式:
    优点: 解压hive安装包 bin/hive 启动即可使用
    缺点: 不适用于生产环境,derby和Metastore服务都嵌入在主Hive Server进程中,一个服务只能被一个客户端连接(如果用两个客户端以上就非常浪费资源),且元数据不能共享


本地模式: 
    优点: 可以单独使用外部数据库(一般是MySQL)进行元数据的管理
    缺点: 相对浪费资源。指的是Metastore每次启动一次的时候都需要对应的启动Hiveserver2服务。也就是本地模式他们两个是成对出现的。这3个服务的启动顺序,MySQL->metastore->Hiveserver2
    
    
远程模式: 
    优点: 可以单独使用外部数据库(一般是MySQL)进行元数据的管理。Hiveserver2、metastore、MySQL这3个可以单独配置、启动、运行
    缺点:
        1- 这3个服务的启动顺序,MySQL->metastore->Hiveserver2
        2- 这3个服务可能是分布在不同机器上运行的,可能会导致不同服务间进行数据交换速度比较慢
        
 

4、数据仓库和数据库

4.1 数据仓库和数据库的区别

数据库与数据仓库的区别:实际讲的是OLTP与OLAP的区别
OLTP(On-Line Transaction Processin): 联机事务处理。数据库中可以进行数据的【增删改查】操作

OLAP(On-Line Analytical Processing): 联机分析处理。数据仓库中主要是对数据进行【查询】操作

数据仓库主要特征:

数据仓库的出现,并不是要取代数据库,主要区别如下:
    1- 数据库是面向事务的设计,数据仓库是面向主题设计的。
    2- 数据库是为捕获(指的是能够对数据进行增删改操作)数据而设计,数据仓库是为分析数据而设计
    3- 数据库一般存储业务数据(由于用户的各种操作行为产生的数据,例如:下单、商品浏览等),数据仓库存储的一般是历史数据。
    4- 数据库设计是尽量避免冗余,一般针对某一业务应用进行设计,比如一张简单的User表,记录用户名、密码等简单数据即可,符合业务应用,但是不符合分析。
    5- 数据仓库在设计是有意引入冗余,依照分析需求,分析维度、分析指标进行设计。
 

4.2 数据仓库基础三层架构

源数据层(ODS): 该层数据几乎不做任何处理操作。直接使用外部系统中的数据结构(数据库名称、表名称、表结构)。为大数据数仓中后续的其他处理提供数据支撑

数据仓库层(DW): 也称之为细节层。DW层的数据应该做到一致、准确、干净。也就是对ODS层中的数据进行ETL以及数据指标分析

数据应用层(DA或APP): 前端页面直接读取该层的数据,进行前端可视化(以看得见的图表、曲线图、柱状图、饼图)的展示


大数据前端产品示例:https://tongji.baidu.com/main/overview/demo/overview/index

4.3 ETL和ELT
广义上ETL:数据仓库从各数据源获取数据及在数据仓库内的数据转换和流动都可以认为是ETL(抽取Extract, 转化Transform , 装载Load)的过程。
​
但是在实际操作中将数据加载到仓库却产生了两种不同做法:ETL和ELT。
​
狭义上ETL: 先将数据从业务系统(可以理解为例如京东的订单数据)中抽取到数据仓库的ODS层中,然后执行转换操作,将数据结构化并且转换层适合后续容易处理的表结构
​
ELT: 将数据从业务系统中抽取并且直接加载到数据仓库的DW层的表里面。加载完以后,再根据业务需求对数据进行清洗以及指标的计算分析

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

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

相关文章

武汉大学化学与分子科学学院雷爱义教授

国务院政府特殊津贴专家(2020),第四届Yoshida Prize(吉田奖,2019),国家“万人计划”科技创新领军人才(2017),国家中青年科技创新领军人才(2015),英国皇家化学学会会士(2015),长江学者特聘教授(2014)&#x…

【数字移动通信】期末突击

文章目录 复习题一.简答题1、常用的移动通信系统有哪些?2、分别列出1G,2G,3G,4G的典型系统或标准?3、移动通信信道的基本特征?4、电波传播预测模型是用来计算什么量的,在选择传播预测模型时,主要考虑哪些因素?5、什么…

Java+Swing+Mysql实现飞机订票系统

一、系统介绍 1.开发环境 操作系统:Win10 开发工具 :Eclipse2021 JDK版本:jdk1.8 数据库:Mysql8.0 2.技术选型 JavaSwingMysql 3.功能模块 4.数据库设计 1.用户表(users) 字段名称 类型 记录内容…

脑机接口习题

9-12章习题 填空题 EEG电极分为 主动电极 和 被动电极 ,其中 被动电极 直接与放大器连接, 主动电极 包含一个1~10倍的前置放大。除抗混淆滤波器,放大系统也包含由电阻器、电容器构成的模拟滤波器,把信号频率内容限制在一个特定的…

B树与B+树区别

B树和B树是常见的数据库索引结构,都具有相较于二叉树层级较少,查找效率高的特点,它们之间有以下几个主要区别: 1.节点存储数据的方式不同 B树的叶子结点和非叶子节点都会存储数据,指针和数据共同保存在同一节点中B树…

SpringMVC相关知识集锦----1

一、springMVC框架的了解 springMVC是一个基于java的实现了MVC设计模式的请求驱动类型的轻量级web框架,通过把model,view,controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发. 二、springMVC主要组件 1.前端控制器(dispatcherservlet):接收请…

【深度学习】复习温故而知新1

数据集ref:https://raw.githubusercontent.com/justinge/pic-go-for-xbotgo/master/Income1.csv X torch.from_numpy(data.Education.values.reshape(-1,1).astype(np.float32)) Y torch.from_numpy(data.Income.values.reshape(-1,1).astype(np.float32))y_pred…

当标签中出现输入了字母或者数字直接在一行上,没有换行的 情况时怎么办

当标签块中输入的是包含字母或者数字的时候,他不会换行,在一行上显示滚动条的形式,而我们想让他走正常文档流,该换行的时候换行 想要的如下效果 给相应的元素块添加该代码即可 word-break: break-all; .card-content { …

Dubbo与Spring Cloud等微服务框架的深度比较及选型指南

在当今的微服务架构领域,Dubbo与Spring Cloud作为两大主流框架,各自拥有独特的设计理念与技术优势,广泛应用于不同规模和类型的项目中。本文将从多个维度深入比较Dubbo、Spring Cloud以及其他代表性微服务框架(如gRPC、Istio&…

酷开科技大屏营销,多元需求唤醒“客厅经济”

随着科技的发展和消费者习惯的变化,OTT大屏营销正逐渐成为客厅经济的新风向。OTT不仅改变了人们获取信息和娱乐的方式,也为品牌营销提供了新的机遇和挑战,OTT大屏营销已经成为客厅经济的重要组成部分。酷开科技通过其自主研发的智能电视操作系…

搜维尔科技:第九届元宇宙数字人设计大赛入围作品名单

随着第九届元宇宙数字人设计大赛渐近尾声,各院校提交的数字人作品已陆续完成评分统计汇总工作!现将入围名单公布,请入围团队尽可能到场参加大赛颁奖典礼,具体获奖名次将在颁奖典礼中现场公布! 颁奖典礼时间、地点&…

Codeforces Round 946 (Div. 3) C D

比赛链接:Dashboard - Codeforces Round 946 (Div. 3) - Codeforces 写在前面:比赛时C题卡了挺久,还没做出来(qwq),D题也只是草草看了几眼,看榜单D题过的人数大于C题,写不出C题导致没心思看D题了…

不小心关闭了Linux的终端窗口怎么恢复文件?

当你在用vim编写程序的时候,没有保存你正在编写的程序,不小心关闭了窗口,而当你重新进入这个.c文件的时候,发现变成了只读文件?而且没有刚刚写的程序了?那刚刚写的程序是不是白写了? 不要慌&am…

一文了解 - GPS/DR组合定位技术

GPS Global Position System 全球定位系统这个大家都很熟悉, 不做太多介绍。 DR Dead Reckoning 车辆推算定位法, 一种常用的辅助的车辆定位技术。 DR系统的优点: 不需要发射和接收信号; 不受电磁波干扰。 DR系统的缺点&#x…

项目管理-质量管理

目录 一、质量管理概述 1.1 GB/T16260.1-2006 定义 1.2 GB/T19000-ISO 9000(2000)系列标准定义 二、软件质量模型 2.1 软件全生命周期质量模型 2.1.1 内部和外部质量的质量模型 2.1.2 使用质量的质量模型 2.1.3 McCall 质量模型 2.1.4 质量特性度量 2.1.5 相关概念 三…

【全开源】多功能投票小程序(ThinkPHP+FastAdmin+Uniapp)

打造高效、便捷的投票体验 一、引言 在数字化快速发展的今天,投票作为一种常见的决策方式,其便捷性和效率性显得尤为重要。为了满足不同场景下的投票需求,我们推出了这款多功能投票小程序系统源码。该系统源码设计灵活、功能丰富&#xff0…

spark实战:实现分区内求最大值,分区间求和以及获取日志文件固定日期的请求路径

spark实战:实现分区内求最大值,分区间求和以及获取日志文件固定日期的请求路径 Apache Spark是一个广泛使用的开源大数据处理框架,以其快速、易用和灵活的特点而受到开发者的青睐。在本文中,我们将通过两个具体的编程任务来展示S…

罗德里格斯公式(旋转矩阵)推导

文章目录 1. 推导2. 性质3. 参考 1. 推导 r r r为旋转轴, θ \theta θ为旋转角度。 先将旋转轴单位化 u r ∣ ∣ r ∣ ∣ u\frac{r}{||r||} u∣∣r∣∣r​ 旋转可以被分为垂直和旋转两个方向, 我们求沿轴方向的分量其实就是在求 p p p向量在 u u u方…

将本地项目上传到 gitee 仓库

1、创建 gitee 仓库 到 gitee 官网,新建仓库 配置新建仓库 完成仓库的创建 项目上传到仓库 上传项目需要安装git git官方下载地址:git下载地址 安装完成,前往本地项目所在文件夹,右击选择 Git Bash Here 刚下载完成需要配置G…

Python筑基之旅-运算符

目录 一、运算符 1、了解定义 2、理解意义 2-1、基本数据处理 2-2、条件判断 2-3、逻辑操作 2-4、赋值和更新 2-5、位操作 2-6、提高代码可读性 2-7、解决实际问题 2-8、学习其他编程语言的基础 3、探索方法 3-1、理解概念 3-2、练习基本运算 3-3、掌握优先级 …