Hive ---- Hive入门

news2024/11/25 4:20:22

Hive ---- Hive入门

  • 1. 什么是Hive
    • 1. Hive简介
    • 2. Hive本质
  • 2. Hive架构原理
    • 1. 用户接口:Client
    • 2. 元数据:Metastore
    • 3. 驱动器:Driver
    • 4. Hadoop

1. 什么是Hive

1. Hive简介

Hive是由Facebook开源,基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。

那为什么会有Hive呢?它是为了解决什么问题而诞生的呢?
下面通过一个案例,来快速了解一下Hive。
例如:需求,统计单词出现个数。
(1)在Hadoop课程中我们用MapReduce程序实现的,当时需要写Mapper、Reducer和Driver三个类,并实现对应逻辑,相对繁琐。

test表
id列

atguigu
atguigu
ss
ss
jiao
banzhang
xue
hadoop

(2)如果通过Hive SQL实现,一行就搞定了,简单方便,容易理解。

select count(*) from test group by id;

2. Hive本质

Hive是一个Hadoop客户端,用于将HQL(Hive SQL)转化成MapReduce程序。
(1)Hive中每张表的数据存储在HDFS
(2)Hive分析数据底层的实现是MapReduce(也可配置为Spark或者Tez)
(3)执行程序运行在Yarn上

2. Hive架构原理

在这里插入图片描述

1. 用户接口:Client

CLI(command-line interface)、JDBC/ODBC。
说明:JDBC和ODBC的区别。
(1)JDBC的移植性比ODBC好;(通常情况下,安装完ODBC驱动程序之后,还需要经过确定的配置才能够应用。而不相同的配置在不相同数据库服务器之间不能够通用。所以,安装一次就需要再配置一次。JDBC只需要选取适当的JDBC数据库驱动程序,就不需要额外的配置。在安装过程中,JDBC数据库驱动程序会自己完成有关的配置。)
(2)两者使用的语言不同,JDBC在Java编程时使用,ODBC一般在C/C++编程时使用。

2. 元数据:Metastore

元数据包括:数据库(默认是default)、表名、表的拥有者、列/分区字段、表的类型(是否是外部表)、表的数据所在目录等。
默认存储在自带的derby数据库中,由于derby数据库只支持单客户端访问,生产环境中为了多人开发,推荐使用MySQL存储Metastore。
默认存储在自带的derby数据库中,由于derby数据库只支持单客户端访问,生产环境中为了多人开发,推荐使用MySQL存储Metastore。

3. 驱动器:Driver

(1)解析器(SQLParser):将SQL字符串转换成抽象语法树(AST)
(2)语义分析(Semantic Analyzer):将AST进一步划分为QeuryBlock
(3)逻辑计划生成器(Logical Plan Gen):将语法树生成逻辑计划
(4)逻辑优化器(Logical Optimizer):对逻辑计划进行优化
(5)物理计划生成器(Physical Plan Gen):根据优化后的逻辑计划生成物理计划
(6)物理优化器(Physical Optimizer):对物理计划进行优化
(7)执行器(Execution):执行该计划,得到查询结果并返回给客户端
抽象语法树
在这里插入图片描述
逻辑计划与物理计划
在这里插入图片描述

4. Hadoop

使用HDFS进行存储,可以选择MapReduce/Tez/Spark进行计算。

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

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

相关文章

关于 mysql本地使用ODBC连接突然无法连接上且无法搜索到database的 解决方法

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/130360385 红胖子网络科技的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软…

关于Open Shift(OKD) 中应用管理部署的一些笔记

写在前面 因为参加考试,会陆续分享一些 OpenShift 的笔记博文内容为介绍 openshift 不同的创建应用的方式,包括: 基于 IS 创建应用基于镜像创建应用基于源码和 image 创建应用基于源码和 IS 创建应用基于模板创建应用 学习环境为 openshift v…

ChatGPT + MindShow 三分钟搞定PPT制作

制作一份“通用性”的PPT需要几步? 三步 接下来,我们借助ChatGPT和MindShow,大概三分钟完成操作,就能制作出来完胜大部分人的PPT文件。具体可看文末效果导示。 解锁更多AIGC(ChatGPT、AI绘画)玩法&#…

与其关注“孔乙己的长衫”,不如来看看什么是套接字

孔乙已是鲁迅笔下人物,穷困流倒还穿着象征读书人的长衫,迁腐、麻木。最近,大家自我调佩是“当代孔乙己”,学历成为思想负担,找工作时高不成低不就。 套接字概念 Socket本身有“插座”的意思,在Linux环境下…

Model-Contrastive Federated Learning 论文解读(CVPR 2021)

Model-Contrastive Federated Learning 论文解读 对比学习SimCLR 对比学习的基本想法是同类相聚,异类相离 从不同的图像获得的表征应该相互远离,从相同的图像获得的表征应该彼此靠近 具体框架: T随机数据增强模块:随机裁剪然…

米文动力 EVO Orin 刷机和克隆操作说明

刷机说明 博主在卸载 cuda 以及 python 后重启后黑屏无法显示,重刷系统才恢复正常。 下载 EVO Orin 用户手册(官网没有,所以上传到 CSDN 供下载)官网下载 EVO Orin 镜像文件 使用 tar -xvf 解压下载的 bootloader 和镜像包得到 …

实用提示和技巧:如何优化您的接口自动化测试工作流程?

目录 摘要 流程概述 常用工具 示例代码 结论 摘要 接口自动化测试是软件开发过程中至关重要的一环,它可以为开发团队提供稳定、高效的交付管道,并保证质量。在本文中,我们将介绍接口自动化测试的基本流程和常用工具,并提供一…

day33—选择题

文章目录 1.若一个用户进程通过read 系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是(A)2.Linux文件权限一共10位长度,分成四段,第三段表示的内容是(C)3.进程阻…

计算机毕业论文内容参考|人工智能|探索网络与人工智能的交叉领域

文章目录 导文文章重点摘要:引言:挑战与机遇:实际应用:结论:导文 计算机毕业论文内容参考|人工智能|探索网络与人工智能的交叉领域 文章重点 摘要: 人工智能(AI)和计算机网络的结合导致了一个新的研究领域,称为网络人工智能。网络人工智能涉及开发使计算机能够学习、…

.Net Framework 4.6.1+版本的Winform程序开启Web服务,支持Http webapi

Winform程序开启Web服务 背景思路方法1方法2方法3(本文使用的方法) 实现在winform程序中引入几个nuget包新建一个Startup类(叫什么名字都行)修改Program文件创建controller 运行效果(打开浏览器,输入如下地址&#xff…

“量子+生成式AI”!IBM联合生物制药公司Moderna进行疫苗研究

​ (图片来源:网络) 4月20日,以COVID-19疫苗而闻名的生物技术和制药公司Moderna Inc.表示,宣布正在与IBM公司合作,利用量子计算和生成式人AI探索推进研究mRNA技术的方法。 双方签署了一项协议,允…

python 基础系列篇:七、以函数方式编写一个数字华容道

python 基础系列篇:七、以函数方式编写一个数字华容道 数字华容道游戏分析开始编写完整代码代码解说定义方法的规律 小结 数字华容道 嗯,就是一个简单的益智游戏,把数字按照特定规律排列,并比矩阵少一个格,用来进行移…

CRM客户关系管理系统主要有哪些功能?

一、CRM客户管理系统是什么 客户关系管理(Customer Relationship Management,简称CRM),是指企业为提高核心竞争力,利用相应的信息技术以及互联网技术协调企业与顾客间在销售、营销和服务上的交互,从而提升…

将CSDN博客内容转为PDF进行下载

打开博客文章页面–F12–控制台–输入以下代码-回车–选择“另存为PDF”–设置样式并预览–打印 回车之后需要等待一些时间 设置之后导出即可 (function(){ use strict;var articleBox $("div.article_content");articleBox.removeAttr("style");…

超低延时交换机助力金融证券极速交易场景应用

一、 极速交易技术的兴起 随着计算机技术和金融科技的快速发展,量化交易和高频交易在全球金融市场中已经被运用到各种交易场景,特别是在股票,期货,期权等衍生品市场,已经逐渐取代人工做市(market maker)&am…

Android 动画—补间动画

帧动画是通过连续播放图片来模拟动画效果,而补间动画开发者只需指定动画开始,以及动画结束"关键帧",而动画变化的"中间帧"则由系统计算并补齐! 1.补间动画的分类和Interpolator Andoird所支持的补间动画效果…

【应急响应】挖矿脚本检测指南威胁情报样本定性文件清除入口修复

文章目录 挖矿样本-Win&Linux-危害&定性Linux-Web安全漏洞导致挖矿事件Windows-系统口令爆破导致挖矿事件Linux-个人真实服务器被植入挖矿分析 挖矿样本-Win&Linux-危害&定性 危害:CPU拉满,网络阻塞,服务器卡顿、耗电等 定性…

Opencv+Python笔记(十)灰度直方图、直方图均衡化、掩模的应用

目录 一、灰度直方图二、图像掩模的应用三、直方图均衡化1.直方图均衡化2.自适应的直方图均衡化 一、灰度直方图 概念: 灰度直方图是关于灰度级分布的函数,是对图像中灰度级分布的统计。灰度直方图是将数字图像中的所有像素,按照灰度值的大小…

SAP-重复制造行业为什么推荐定额工艺路线

翻译一篇大佬的文章: Why Rate Routing is (recommended) used in Repetitive Manufacturing? 看多了博客解Routing和Rate routing的区别,看来还是有很多会员不满意或者不清楚,对此类问题的概念或解释。我认为很少有屏幕截图的博客可以帮助…