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

Hive基础篇

Hive起源于Facebook,是基于 Hadoop HDFS 分布式文件系统的分布式 数据仓库 架构。它为数据仓库的管理提供了许多功能:数据ETL(抽取、转换和加载)工具、数据存储管理和大型数据集的查询和分析能力。同时Hive还定义了类SQL的语言(HiveQL)。允许用户进行和SQL相似的操作,它可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能。还允许开发人员方便的使用Mapper和Reducer操作,可以将SQL语句转换为MapReduce任务运行。

Hive的特点
Hive作为Hadoop之上的数据仓库处理工具,它所有的数据都是存储在Hadoop兼容的文件系统中。Hive在加载数据过程中不会对数据进行任何的修改,只是将数据移动到HDFS中Hive设定的目录下。因此,Hive不支持对数据的修改和添加,所有的数据都是在加载的时候确定的。

Hive 最大的特点是通过类 SQL 来分析大数据,而避免了写 MapReduce 程序来分析数据,这样使得分析数据更容易。

数据是存储在 HDFS 上的,Hive 本身并不提供数据的存储功能

Hive 是将数据映射成数据库和一张张的表,库和表的元数据信息一般存在关系型数据库上(比如 MySQL)。

数据存储方面:它能够存储很大的数据集,并且对数据完整性、格式要求并不严格。

数据处理方面:不适用于实时计算和响应,使用于离线分析。

Hive体系架构
在这里插入图片描述

用户接口:包括CLI,JDBC/ODBC,WebUI等方式。
元数据Metastore:通常存储在关系数据库如mysql,derby中。元数据包括:表名,表所属的数据库,表的列/分区字段,表的属性(是否为外部表等),表的数据所在目录等信息。
Driver:包括解释器、编译器、优化器、执行器。HiveQL查询语句从词法分析。语法分析、编译、优化以及查询计划生成。生成的查询计划存储在HDFS中,并在后面的MapReduce中进行调用执行。

解析器:将SQL转换成抽象的语法树AST。
编译器:将抽象语法树AST编译生成逻辑执行计划。
优化器:将逻辑执行计划进行优化。
执行器:把逻辑执行计划转换成可以运行的物理执行计划。

Hadoop:使用HDFS进行存储,利用MapReduce进行计算。

Hive运行机制

编写HiveQL,并提交;
Hive解析查询语句,并生成查询计划;
Hive将查询计划转化为MR作业;
运行MR作业,得到最终结果。
Hive与关系数据库的区别
在这里插入图片描述


http://www.kler.cn/a/421947.html

相关文章:

  • 扩展 SOC 的能力以应对更多威胁
  • Ubuntu24 cgroupv2导致rancher(k3s)启动失败的处理
  • M31系列LoRa分布式IO模块功能简介
  • Centos7安装MySQL8.0详细教程(压缩包安装方式)
  • 前端:localstorage, session
  • Debian 的更新原理
  • 【IMF靶场渗透】
  • Nginx配置限流,技能拉满!
  • Nodejs-初体验-1
  • C++ 游戏开发入门
  • Python将Excel文件转换为JSON文件
  • 真实情景之:处理用户密码时的“加盐”措施
  • 基于 MVC 的 SpringBoot 高校行政事务管理系统:设计布局与实现效能评估
  • 泷羽sec学习打卡-shell命令5
  • 面向对象(二)——类和对象(上)
  • DevOps工程技术价值流:GitLab源码管理与提交流水线实践
  • 计算机网络-Wireshark探索IPv4
  • C# 元组
  • 外卖开发(三)开发笔记——AOP实现实现公共字段填充、主键回显、抛异常和事务管理
  • Matlab图像处理——基于内容的图像检索GUI
  • 基于云模型的车辆行驶速度估计算法matlab仿真
  • 【C++】数组
  • jmeter 获取唯一全局变量及多线程读写的问题
  • JavaScript实现tab栏切换
  • 从零开始搭建图像去雾神经网络
  • React基础知识三 router路由全指南