Hive安装部署
hive
官网:http://hive.apache.org/
Apache Hive™数据仓库软件有助于使用SQL读取,编写和管理驻留在分布式存储中的
大型数据集。可以将结构投影到已存储的数据中。提供了命令行工具和JDBC驱动程序以
将用户连接到Hive。
hive提供了SQL查询功能 hdfs分布式存储。
hive本质HQL转化为MapReduce程序。
环境前提:1)启动hdfs集群
2)启动yarn集群
如果想用hive的话,需要提前安装部署好hadoop集群。
为什么要学习hive
简化开发。
easycoding!
高德地图使用hive。
优势:
1)操作接口采用类sql语法,select * from stu;
简单、上手快!
2)hive可以替代mr程序,sqoop。
3)hive可以处理海量数据。
4)hive支持UDF,自定义函数。
劣势:
1)处理数据延迟高,慢。
引擎:1.2.2以前版本都是用的mr引擎
2.x之后用的是spark引擎
2)HQL的表达能力有限
一些sql无法解决的场景,依然需要我们写mapreduce.
hive架构原理解析
sql->转换->mapreduce->job
hive安装部署
1)下载
2)上传到linux
alt+p
3)解压
tar -zxvf .tar -C hd/
4)重命名
mv hive-env.sh.template hive-env.sh
5)修改配置文件
vi hive-env.sh
HADOOP_HOME=/root/hd/hadoop-2.8.4
export HIVE_CONF_DIR=/root/hd/hive/conf
6)启动
bin/hive
配置mysql元数据库
1)拷贝mysql驱动到hive/lib
cp/mv hive/lib
2) 添加hive-site.xml
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<value>jdbc:mysql://hd-01:3306/metastore?createDatabas
eIfNotExist=true</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</descr
iption>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</d
escription>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
<description>password to use against metastore database</d
escription>
</property>
3)注意:重启hadoop集群
4)启动hive
bin/hive
此时mysql中创建metastore元数据库