Hive基础知识

Hive基础知识,第1张

Hive基础知识

数据生态圈
  • 什么是HIVE
  • Hive 和 Hadoop 关系
  • 理解
  • 架构
  • 数据及部署方式
    • 元数据
    • 部署方式
  • HIVE 安装

HIve


什么是HIVE

 Apache Hive 是一款建立在Hadoop 上的开源数据仓库系统
将储存在Hadoop中的文件结构化、半结构化的数据文件映射为一张数据库表,基于此提供了类似于SQL的查询模型,
称为Hive查询语言(HQL),
用于访问和分析存储在Hadoop文件中的大型数据集

Hive的核心是将HQL转换为MapReduce程序,然后将程序提交到Hadoop集群执行
Hive是Facebook实现并开源的

依靠Hadoop,因此,擅长存储分析海量数据集


Hive 和 Hadoop 关系

Apache Hive作为一款大数据时代的数据仓库软件,具备存储数据和分析数据的能力。
但是,Hive并不是自己实现了上述两种能力,而是借助Hadoop。

Hive利用HDFS存储数据,利用MapReduce查询分析数据。

Hive的最大魅力在于:让用户专注于HQL的编写,Hive帮助转换为mapreduce程序完成数据的分析
学习成本低,易上手


理解
  • Hive 能将数据文件映射成为一张表,这个映射是指 文件和表之间的对应关系

  • Hive 本身负责将 SQL 语法解析编译味MapReduce

架构

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

  • 元数据(metastore)
    通常是存储在关系数据库如mysql/derby中。
    Hive 中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。
    默认存储在自带的Derby中,推荐用Mysql 存储

  • Driver驱动程序
    包括语法解析器、计划编译器、优化器、执行器
    完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。
    生成的查询计划存储在HDFS中,并在随后有执行引擎调用执行。

  • 执行引擎
    Hive本身并不直接处理数据文件。
    而是通过执行引擎处理。当下Hive支持MapReduce、Tez、Spark3种执行引擎。

数据及部署方式 元数据
  • metastore即元数据服务
    作用是管理metadata元数据,对外暴露服务地址,让各种客户端通过连接metastore服务,由metastore再去连接MySQL数据库来存取元数据。
    有了metastore服务,就可以有多个客户端同时连接,而且这些客户端不需要知道MySQL数据库的用户名和密码,只需要连接metastore服务即可。某种程度上也保证了Hive元数据的安全。

部署方式

有三种:内嵌模式、本地模式、远程模式。

  • 区分3种配置方式的关键是弄清楚两个问题:
    metastore 服务是否需要单独配置、单独启动?
    metadata 是存储在内置的derby中,还是第三方RDBMS,比如MySQL

推荐使用远程模式

在生产环境中,建议用远程模式来配置Hive metastore。

在这种情况下,其他依赖hive的软件都可以通过metastore访问hive。

由此还可以完全屏蔽数据库层,因此这也带来了更好的可管理性/安全性。

Hive 提供了两个客户端,如上图所示,hive客户端和beeline客户端

官方推荐使用新客户端beeline,因此需要启动两个服务

metastore服务和HiveServer2服务,两者有依赖关系,必须先启动前者

HIVE 安装

点这里

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5699781.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存