hive环境的搭建
hive 默认用的是derby数据库存储源数据,在这改为 mysql来存储;
1、hive和关系数据库的对照关系
hive 所要查询的数据保存在HDFS中;
hive 中的数据库和表对应HDFS中的文件夹;
hive 中的表中的数据对应HDFS中的文件中的数据;
hive 中的表的字段对应于HDFS中数据的字段;
2、hive的环境搭建
2.1、修改hive-default.xml文件
复制hive-default.xml为hive-site.xml
删除hive-site.xml的所有默认配置,加入如下的数据库配置
<property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://hadoop110:3306/hive?createDatabaseIfNotExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>root</value> </property>
2.2、修改hive目录下bin/hive-config.sh,增加环境配置
export JAVA_HOME=/usr/jdk export HIVE_HOME=/usr/hive export HADOOP_HOME=/usr/hadoop
2.3、将jdbc的驱动包复制到hive的lib的目录下
*错误提醒:在启动hive的时候发生如下错误的时候:
Terminal initialization failed; falling back to unsupported java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected 需要把hive/lib下的jline包替换掉hadoop/share/hadoop/yarn/lib下的jline包
3、基本操作测试一下
搭建完成后执行命令hive/bin/hive进入hive的命令行
3.1、创建单列表
create table t1(id int);
3.2、把linux磁盘文件加载到表中
load data local inpath './onecolumn' into table t1;
3.3、查看表数据
select * from t1;
3.4、删除表
drop table t1;
*创建多列表时的创建语句如下
create table t2(id int,name string) row format delimited fields terminated by '\t'; --指定分隔符为 制表符(\t)