一、hive官方给出的定义是数据仓库 主要包含解释器、编译器、优化器、执行器、在运行的时候hive会将hdfs文件系统上的文件转换为关系型数据库(这里我们用mysql,因为自带的关系型数据库很不稳定),hive主要是类sql脚本
二、mysql
1、下载
https://cdn.mysql.com//Downloads/MySQL-5.5/mysql-5.5.60-linux-glibc2.12-x86_64.tar.gz
2、上传 、解压 rz tar -zxvf
3、配置环境变量 启动服务
4、远程链接 设置登录名和密码 (这里主要是在远程链接的时候有一个ip识别问题需要修改配置文件更改mysql数据库里的user表里的链接名和密码以及地址解析)
这里报错ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'忘记mysql密码
的解决办法:https://blog.csdn.net/qq_24113267/article/details/80368454
三、hive的安装与配置(这里一定注意版本对应问题,我当时就用了hive3.0.0 hadoop 用的是2.5.0结果各种不兼容,类找不到)如果hive与hadoop的版本不相对应,建议更好hive版本因为比较简单
https://www.cnblogs.com/jingblogs/p/5500357.html 这是我随便找的一个版本对应:由于没找到0.13.0版本下载。我这里选择的hive是1.2.2
期间碰到的问题
1、crypto/key/KeyProvider类找不到 ------用下面的方式可以避免,但是还会有后续问题
2、URISyntaxException: Relative path in absolute URI: ------替换 配置文件里的
linux命令:https://www.cnblogs.com/nkwy2012/p/6365714.html
1、下载压缩包 http://mirror.bit.edu.cn/apache/hive/hive-1.2.2/
2、上传解压 tar -zxvf apache-hive-3.0.0-bin.tar.gz
3、进入配置文件目录 cp hive-default.xml.template hive-site.xml
4、修改配置文件
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.68.132/hive</value>-----这里不会自动创建hive数据库
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>Username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value></value>
<description>password to use against metastore database</description>
</property>
5、因为hive要链接mysql数据库 所以需要添加连接驱动
https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz同样是上传解压,将里面的jar包添加到hive的lib目录下
6、配置环境变量
7、执行hive命令启动hive----hive为类sql
-------启动时出错
hive启动报错:Found class jline.Terminal, but interface was expected
解决办法:https://blog.csdn.net/silentwolfyh/article/details/51568228
8、将来在运行的时候使用的还是hdfs系统上的文件,只是转换为关系型数据库,映射文件也存储在数据库里,hive只能取代简单的mapreduce
9、具体的CLi、DDL、 DML
https://cwiki.apache.org/confluence/display/Hive/LanguageManual