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

大数据开发-Hive

1、hive简介

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

注:hive-SQL or HQL or类SQL 和标准SQL还是有一点点区别的

本质是SQL转换为MapReduce程序
用途:用来做离线数据分析,比直接用MapReduce开发效率更高

为什么说hive是基于Hadoop的呢?
作为数据仓库软件,应该要具备存储数据能力、分析数据能力
HIve使用Hadoop的HDFS进行数据存储,Hadoop的MapReduce进行数据分析

使用Hadoop的MapReduce进行处理数据的问题:

  1. 学习成本高
  2. MapReduce实现复杂查询逻辑开发难度太大

映射是一种对应关系,hive中需要将文件和表的对应关系描述记录清楚。
映射信息专业的叫法称之为元数据信息(元数据指用来描述数据的数据)

在这里插入图片描述
hive中的映射?— 指的是文件和表之间的对应关系
hive软件承担的功能职责?— SQL语法解析编译成MapReduce程序
在这里插入图片描述
hive需要掌握的重点:
元数据问题?建表映射成功
SQL语句

结构化数据–严格的数据对齐

2、Hive架构

2.1 Hive架构图

在这里插入图片描述

2.2 Hive组件-前三个

1,客户端用户接口
用户接口:CLI(command_line interface命令行接口)、JDBC/ODBC、web GUI。其中CLI是shell命令行,JDBC/ODBC是hive的Java实现,webGUI是通过浏览器访问HIVE----与用户交互

optimizer优化器—对SQL语句进行优化

MR–速度慢
2,hive Driver驱动程序
hive的核心
完成从接受HQL到编译成MR的过程
SQL解释 编译 校验 制定计划

3,metadata
元数据存储,描述性数据
元数据是指表和文件之间的映射关系

2.3 hive与Hadoop的关系

4,Hadoop是hive外部的
HDFS 存储文件
Map Reduce计算数据
yarn 资源分配

hive是分布式软件吗?
hive不是分布式文件,只需要在一台计算机上部署hive即可
但具有分布式能力,hive借助Hadoop完成。hdfs分布式存储,MapReduce分布式计算

3、Hive与传统数据库的对比

在这里插入图片描述
hive用于海量数据的离线数据分析
hive具有SQL数据库的外表,但应用场景完全不同,hive只适合用来做批量数据统计分析

3、Hive的安装部署

hive安装前需要安装Hadoop、MySQL、JDK

3.1 matadata、metastore

matadata即元数据,映射关系
metastore元数据服务,有了metastore可以有多个客户端同时连接,而且这些客户端不需要知道MySQL数据库的用户名和密码,只需要连接metastore服务即可
在这里插入图片描述

3.2 metastore三种配置方式

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

  • metastore服务是否需要单独配置,单独启动?
  • metadata是存储在内置derby中,还是第三方RDBMS,比如MySQL
    在这里插入图片描述
    p127
http://www.lryc.cn/news/18549.html

相关文章:

  • 《程序员新声》-Tech Lead 如何带领团队
  • 每日算法面试题
  • 高质量前端之自动化测试
  • 2023不伤人脉的全新商城分销,一劳永逸的消费分红
  • 【代码随想录训练营】【Day21】第六章|二叉树|530.二叉搜索树的最小绝对差|501.二叉搜索树中的众数|236. 二叉树的最近公共祖先
  • leaflet 导出图片,打印图片(A4横版或竖版)
  • Java面向对象:继承特性的学习
  • 问答系统(QA)调研
  • 商务租车的三大优势吸引企业以租代购
  • 蓝桥杯的比赛流程和必考点
  • 【数据结构】红黑树
  • 从C++的角度理解C#的Event
  • 商城进货记录交易-课后程序(JAVA基础案例教程-黑马程序员编著-第七章-课后作业)
  • 【正点原子FPGA连载】第十七章双核AMP实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南
  • 内存管理框架---页(一)
  • 华为OD机试真题Python实现【流水线】真题+解题思路+代码(20222023)
  • 「JVM 编译优化」Graal 编译器
  • 蓝牙标签操作指南
  • 嵌入式 Linux Shell编程
  • Web前端学习:一
  • SpringBoot集成Redis实现分布式会话
  • 2023年关于身份安全的4 个预测
  • Linux期末考试应急
  • mars3d对geojson图层分属性设置样式
  • 三、锁相关知识
  • C语言数据类型
  • 华为OD机试真题Python实现【水仙花数】真题+解题思路+代码(20222023)
  • 【华为OD机试模拟题】用 C++ 实现 - 非严格递增连续数字序列(2023.Q1)
  • RN面试题
  • 【数据存储】浮点型在内存中的存储