1.什么是hive
Hive-介绍
官网:http://hive.apache.org/

1.1 ApacheHive是数据仓库工具可以使用sql语句方便的读取,写入和管理驻留在分布式存储的中的大型数据集,结构可以投影到已经存储的数据上,提供一个命令行工具和JDBC驱动程序,将用户连接到hive。
大数据之初始hive
下载
大数据之初始hive
下载:http://mirrors.ustc.edu.cn/apache/hive/hive-3.1.2/
目录介绍:
大数据之初始hive
Bin:可执行文件
Binary-package-licenses:二进制包的许可证
Conf:配置文件
Examples:示例代码
Hcatalog:hcata的日志;
Jdbc:java data base connection
Lib:jar包
Scripts:脚本;(vb,js);
Readme:读我;

1.2 Hive的三种模式
本地模式:此模式连接到一个In-Memory的数据库Derby,一般用于UnitTest.
大数据之初始hive
metastore:元数据 描述数据的数据,拿数据来举例,数据库最终的目的是为了存储表里面的记录,为了记录这个目的,延伸出来:数据库,表,列;(元数据)
单用户模式:通过网络连接到一个数据库中,是常见的使用模式。
大数据之初始hive
大数据之初始hive
多用户模式:远程服务器模式 用于非java客户端访问元数据库(metastore),在服务器端启动metaStoreServer,客户端利用thrift协议通过metaStoreServer访问元数据库
大数据之初始hive
大数据之初始hive
大数据之初始hive
1.3 构架图
Mysql(数据库,表,记录)
大数据之初始hive
一张表就是一个ibd文件,记录也存储到ibd文件中
大数据之初始hive
缺点:如果随着mysql记录的增长,ibd文件会一直往上涨,涨到硬盘的空间使用完了;(为何不把多块硬盘链接起来):hdfs帮我们干了;
所有的程序都需要把数据存储到硬盘上;(硬盘的空间总有一天会用完),hdfs专门解决硬盘空间的问题;(hdfs:分,余,展)

hive
大数据之初始hive
1.4 hive的组成部分
Metastore:元数据的存储
一个文件:除了文件内容一万的叫做元数据(放到了namenode上)
Cli client:客户端,hive的黑窗口
jdbc:连接的
Webgui

大数据之初始hive
用户接口主要有三个:Cli,client和Webgui,其中最常用的是cli,cli启动的时候会同时启动一个hive副本,client是hive的客户端,用户连接到hiveServer在启动client模式的时候需要指出hiveServer所在的节点,并且在该节点启动hiveServer.Wui是通过浏览器也能访问hive

hive将元数据存储在数据库表中,如mysql,derby. hive中元数据包含表的名字,表的列和分区及其属性,表的属性,表的数据所在的目录等,数据库中并不存储hive 的记录。

解释器,编译器,优化器完成sql查询语句从词法凡汐,编译,优化以及查询计划的生成,生成的查询计划存储在hdfs中,并随后有mapreduce调用执行。

hive数据存储在hdfs中,大部分数据查询,计算由mr完成(包含的查询,比如select from tbl不会生成mapreduce任务)

元数据存储到真实的数据库,记录存储到了hdfs上,经常使用的mysql:表,记录,库都存储到文件系统中(NTFS)
hive 的客户段连接服务器走的是thrift协议=httpthhps;传输的内容比较小;
大数据之初始hive
1.5 hive的构架
1.用户在hive 中输入了一个sql语句;要么转成mr执行,要么直接查询文件;
2.编译器:将一个hive QI转换操作符(在hive中写的sql语句:hive QL,hql)
3.操作符是hive的最小处理单元
4.每个操作符代表hdfs一个操作或者一道MR作业

1.6Operator
Operator都是Hive定义的一个处理过程
Operato都定义有
Protected List<Operator<? extends Serializable>> childOperators
Protected List<Operator<? extends Serializable>> parentOperators
Protected boolean done;//初始化值为false
大数据之初始hive
大数据之初始hive
原来的Mysql数据库的sql语句可以满足任何需求:jdbc(java连接数据库)(数据库管理员),servlet–jsp(方便一些不懂程序的人对数据库进行操作);用户在网页上所做的每一个操作其实都是转换成了sql语句操作数据库。

后续会持续更新大数据的知识,喜欢的朋友们可以点个赞和关注,这也会是我持续更新的动力,谢谢大家!

相关文章:

  • 2022-01-04
  • 2022-12-23
  • 2022-12-23
  • 2021-10-01
  • 2022-12-23
  • 2022-12-23
  • 2021-08-22
  • 2022-12-23
猜你喜欢
  • 2021-08-19
  • 2021-07-13
  • 2022-12-23
  • 2021-04-13
  • 2021-09-17
相关资源
相似解决方案