1.什么是Hive?
Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载(ETL),这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。底层存储在HDFS上。
Hive的优点是学习成本低,同样可以作为查询引擎通过类似SQL语句(hql)实现快速MapReduce统计,使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序。
OLTP与OLAP
OLTP(on-line transaction processing)翻译为联机事务处理, OLAP(On-Line Analytical Processing)翻译为联机分析处理,从字面上来看OLTP是做事务处理,OLAP是做分析处理。从对数据库操作来看,OLTP主要是对数据的增删改,OLAP是对数据的查询。
Hive架构:
安装:
准备安装包
apache-hive-2.1.0-bin.tar.gz
解压hive
[[email protected] /soft] tar -zxvf apache-hive-2.1.0-bin.tar.gz -C /opt/
重命名
[[email protected] /opt] mv apache-hive-2.1.0-bin hive
配置环境变量
#配置hive的环境变量 export HIVE_HOME=/opt/hive export PATH=$PATH:$HIVE_HOME/bin
使环境变量立刻生效
source /etc/profile
配置hive
-
重命名模板配置文件
[[email protected] /opt/hive/conf/] mv hive-env.sh.template hive-env.sh mv hive-default.xml.template hive-site.xml mv hive-log4j.properties.template hive-log4j.properties
-
vim /opt/hive/conf/hive-env.sh 在后面追加下面配置
export JAVA_HOME=/opt/jdk export HADOOP_HOME=/opt/hadoop export HIVE_HOME=/opt/hive
-
vim /opt/hive/conf/hive-site.xml
<property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://demo05: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> <property> <name>hive.querylog.location</name> <value>/opt/hive/tmp</value> </property> <property> <name>hive.exec.local.scratchdir</name> <value>/opt/hive/tmp</value> </property> <property> <name>hive.downloaded.resources.dir</name> <value>/opt/hive/tmp</value> </property> <!--默认为false,开发环境建议使用true,生产环境建议使用false--> <property> <name>hive.exec.mode.local.auto</name> <value>true</value> <description>Let Hive determine whether to run in local mode automatically</description> </property>
PS:上述xml配置根据自己实际情况去配置,内容比较麻烦,最好仔细一条一条去配,我的mysql账户与密码:root,mysql安装的机子:demo05,hive部署的机子:demo01
-
将mysql-connector-java-5.1.39.jar拷贝到$HIVE_HOME/lib/目录下
cp mysql-connector-java-5.1.39.jar /opt/hive/lib/
-
在mysql中格式化hive的元数据
schematool -initSchema -dbType mysql
-
hive的启动
hive