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 '	';
--指定分隔符为 制表符(	)
原文地址:https://www.cnblogs.com/hpuCode/p/5203266.html