HIVE数据仓库工具详解

一、hive是什么?
我们听说过很多的编程语言例如C、C++、java、python、php等等一系列的编程语言,这些语言都被许许多多的程序员运用到开发当中了,而sql语言也作为一种语言它没有被运用到实际开发中,而只是进行数据库的操作,那么能不能让回sql的人也可以去处理大数据,不会写mr的人也可以去处理大数据?这里我要介绍的hive就是这样为了解决这个问题而存在的。
hive就是基于Hadoop的一个数据仓库工具,它是建立在hadoop上的数据仓库基础构架,提供了简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行,在我看来,这个hive就是hadoop的一个数据库,就类似我们的mysql以及oracle,它也有表,也有表数据,也可以进行基本的增删改查。

二、hive的工作原理
首先我们hive经过mysql语句去查询数据后,将查询条件查询出的结果进行解析、优化、编译、执行四个步骤将它转化为MapReduce,而我们要查询的表就存放在我们的hdfs中,hive是依赖于hadoop的所以整个hive其实就是mapreduce和hdfs的结合。
解析:就是找出语句中的关键字
优化:将select语句进行优化,形成树
编译:将select重新编译,形成相应的逻辑计划
执行:将逻辑计划进行实现转变成物理计划,也就是MapReduce
hive的数据存放位置有三种搭建方式
1.derby 就是hive的内部数据库,这个数据库不能多人访问
2.本地数据库 这个数据库也就是我们常用的数据库搭建
3.存放在外部数据库,也就是我们使用mysql等数据库去存放,这种方式比较安全
hive的连接有两种
1.直接连接
2.navicat连接

三、hive搭建
这里hive与之前我们搭建hadoop一样,都需要传入jar包并解压,这里我分步骤讲解
1.解压安装包
tar -zxvf hive的包名
2.安装mysql
这里可以去参考linux的mysql安装步骤进行安装
3.配置环境变量
在这里插入图片描述
在conf 下寻找hive-env.sh.template,并复制一份重命名为hive-env.sh
将其中的
在这里插入图片描述
HADOOP_HOME改为你安装hadoop的绝对路径
4.配置hive相关配置文件
在这里插入图片描述
还是在conf路径下我们找到一个叫hive-default.xml.template的文件将它复制改名为hive-site.xml
将其中的configuration中写入以下代码

javax.jdo.option.ConnectionURL
jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true
JDBC connect string for a JDBC metastore

	
	javax.jdo.option.ConnectionDriverName
	com.mysql.jdbc.Driver
	Driver class name for a JDBC metastore
	

	
	javax.jdo.option.ConnectionUserName
	root
	username to use against metastore database
	

	
	javax.jdo.option.ConnectionPassword
	root
	password to use against metastore database
	
	这个代码就是你配置连接mysql的时候的一些配置信息

5.安装hive和mysql后将mysql的连接jar包拷贝到hive安装路径的lib下
mysql启动mysql
如果需要设置密码就在启动mysql后就输入set password=password(‘root’);设置密码为root,这里注意一定要与之前配置hive配置文件中的一一对应。
设置完密码后在输入GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;,这是为了让mysql任何ip地址或主机都可以连接,接着再输入FLUSH PRIVILEGES;刷新一下配置,就可以使用mysql等去连接虚拟机上的mysql了。
如果设置完密码我们再想登录就需要输入,mysql -u用户名 -p密码 来登录mysql
6.这是我们还没有完事,我们还需要把hive安装路径lib下的jline.2.12.jar包替换hadoop中的
cp hive/lib/jline-2.12.jar hadoop安装路径

你可能感兴趣的:(HIVE数据仓库工具详解)