基本概念
典型缺点
Hive 不支持记录级别的增删改操作,依托于Shell可以将查询生成的结果重定向到文件中。但是新版本的 Hive 已经支持记录级别的插入(Hive从0.14版本开始支持事务和行级更新),由于CDH版本的Hive相对比较旧,如果想采用较新版本的,可以考虑自行编译Hive。
Hive没有增删改,不支持事务(Hive从0.14版本开始支持事务和行级更新),所以主要用来做 OLAP(联机分析处理),而不是 OLTP(联机事务处理)。
安装与配置
安装数据库
- Hive 所需要的数据库驱动(假设采用 MySQL 存储 Metastore)可以从该地址下载:http://mvnrepository.com/artifact/mysql/mysql-connector-java
- 尽量不要使用 MariaDB,这样在采用 mysql-connector-java 时会导致Hive 初始化异常
配置环境变量
export HIVE_HOME=/Users/yepeng/opt/modules/hive-1.1.0-cdh5.14.4
export PATH=$HIVE_HOME/bin:$PATH
创建对应的目录
hdfs dfs -mkdir -p /tmp
hdfs dfs -chmod g+w /tmp
hdfs dfs -mkdir -p /user/hive/warehouse
hdfs dfs -chmod g+w /user/hive/warehouse
修改配置文件
配置文件 hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://xxxx:xx/hiveware?createDatabaseIfNotExist=true&useSSL=false&character
Encoding=utf-8</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>4xGxBuX</value>
</property>
</configuration>
为了避免出现“Establishing SSL connection without server’s identity verification is not recommended. ”的警告,记得在URL中添加 &useSSL=false
为了后面顺利使用中文,记得加上 &characterEncoding=utf-8
具体中文配置原理可以参见这篇博文:http://www.cnblogs.com/DreamDrive/p/7469476.html
配置文件 hive-log4j.properties
hive.log.dir=/Users/yepeng/opt/modules/hive-1.1.0-cdh5.14.4/logs
hive.log.file=hive.log
网友评论