一、简介
1.Hive本身是基于Hadoop的一个离线分析工具(需要有一个hadoop环境,之前离线分析使用的是MapReduce,Hadoop支持的语言:Java、Python、Scala、R)
2.Hive中利用类SQL语言 - HiveQL/HQL来取代MapReduce中的复杂的代码
3.Hive降低了Hadoop中MapReduce的开发门槛
4.Hive在底层将输入的HQL转化为MapReduce来执行,所以这就导致Hive的运行效率比MapReduce更低
5.Hive是一个操作数据仓库的工具
注:
hive并行发布了3个版本,都在更新。
选择比较常用的1.x(稳定)此处使用的是hive-1.2.0
6.Hive针对结构化数据来进行分析
7.在hive建的库,表以及表中的字段称之为是hive的元数据,但是注意,Hive处理的数据是放在HDFS上,hive的元数据默认不是放在HDFS上
8.Hive的元数据默认是放在Hive自带的Derby数据库中,但是问题在于:
a.Derby是文件式的数据库,在哪儿启动hive,那么就在在哪儿生成文件存储元数据;只要换了目录,之前目录中的元数据是无法加载的
b.Derby本身是一个单连接的数据库
9.实际开发中,存储hive的元数据的数据库往往会进行更换,但是hive的元数据的数据库支持Derby和MySQL
10.启动hive时,执行sh hive出现了READ COMMITTED:
a.vim /user/my.cnf
b.在文件的最后一行添加一行数据:binlog_format=mixed
c.保存退出
d.重启mysql服务:service mysqld restart
11.如果在启动mysql的时候出现MySQL server pid :
a. ps aux | grep mysq*
b.kill掉出现的所有进程
c.重启mysql服务:service mysqld restart