1.Hive安装
1.1下载
官网下载地址apache.fayea.com/hive/,目前最新版为1.2.2,选择 apache-hive-1.2.2-bin.tar.gz文件下载。
1.2 配置hive-env.sh
解压文件至本地文件夹,进入/conf文件夹,编辑hive-env.sh
# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=/Users/kk/hadoop/hadoop-2.6.5
# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/Users/kk/hadoop/hive-1.2.0/conf
# Folder containing extra ibraries required for hive compilation/execution can be controlled by:
export HIVE_AUX_JARS_PATH=/Users/kk/hadoop/hive-1.2.0/lib
HADOOP_HOME:Hadoop根目录
HIVE_CONF_DIR:Hive配置文件夹
HIVE_AUX_JARS_PATH:Hive依赖jar包的路径
1.3 配置hive-site.xml
编辑hive-site.xml文件,修改以下参数
<property>
<name>hive.exec.scratchdir</name>
<value>/Users/kangkang/hadoop/warehouse</value>
<description>HDFS root scratch dir for Hive jobs which gets created with write all (733) permission. For each connecting user, an HDFS scratch dir: ${hive.exec.scratchdir}/<username> is created, with ${hive.scratch.dir.permission}.</description>
</property>
<property>
<name>hive.exec.local.scratchdir</name>
<value>/Users/kangkang/hadoop/hive-1.2.0/tmp/${user.name}</value>
<description>Local scratch space for Hive jobs</description>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/Users/kangkang/hadoop/hive-1.2.0/tmp/${hive.session.id}_resources</value>
<description>Temporary local directory for added resources in the remote file system.</description>
</property>
...
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/Users/kangkang/hadoop/warehouse</value>
<description>location of default database for the warehouse</description>
</property>
...
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
<description>password to use against metastore database</description>
</property>
...
<property>
<name>hive.hwi.listen.port</name>
<value>9999</value>
<description>This is the port the Hive Web Interface will listen on</description>
</property>
...
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hivedb?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false</value>
<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>hive.querylog.location</name>
<value>/Users/kangkang/hadoop/hive-1.2.0/tmp/${system:user.name}</value>
<description>Location of Hive run time structured log file</description>
</property>
...
1.4 添加依赖包
拷贝mysql的驱动jar包(mysql-connector-java-5.1.38.jar)到hive的/lib文件夹
拷贝/hive/lib/jline-2.12.jar 文件拷贝至 /hadoop-2.6.5/share/hadoop/yarn/lib/下
创建一个缓存文件夹/hive-1.2.2/tmp/
2.启动Hive
在保证本机mysql服务开启的情况下,启动Hive命令:
bin/hive
bin/hiveserver2
注意:这里是两个服务同时启动
hiveserver2是启动服务,为jdbc的访问提供服务。
3.Hive操作数据
创建表格:
create table table_name(id int primary key, name varchar);
删除表格:
drop table table_name;
查询
select * from table_name where id = 1;
Hive导入文件内容
load data local inpath '/Users/kk/dim_area.txt' into table dim_area;