大数据开发-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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值