大数据数据仓库Hive

1、Hive是什么

由Facebook开源,最初用于解决海量结构化的日志数据统计问题。

构建在Hadoop之上的数据仓库

Hive定义了一种类SQL查询语言: HQL(类似SQL但不完全相同)

通常用于进行离线数据处理(采用MapReduce)

底层支持多种不同的执行引擎(包括MapReduce、Tez、Spark)

支持多种不同的压缩格式(GZIP、LZO、Snappy、BZIP2)、存储格式(TextFile、SequenceFile、ORC、Parquet)以及自定义函数(UDF)。

2、为什么要使用Hive

简单、容易上手(提供了类似SQL查询语言HQL)

为超大数据集设计的计算/存储扩展能力(MR计算,HDFS存储)

统一的元数据管理(可与Presto/Impala/SparkSQL等共享数据)

3、Hive体系架构

Hive部署架构-测试环境

Hive部署架构--生产环境

 MySQL存放元数据,主备模式。

5、HIve环境搭建

1) Hive下载: 

cd /home/tools

wget http://archive.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.7.0.tar.gz

tar -zxvf hive-1.1.0-cdh5.7.0.tar.gz

2) 配置环境变量

vi ~/.bash_profile

export HADOOP_HOME=/home/tools/hadoop-2.6.0-cdh5.7.0
export PATH=$HADOOP_HOME/bin:%PATH

export HIVE_HOME=/home/tools/hive-1.1.0-cdh5.7.0
export PATH=$HIVE_HOME/bin:$PATH

cd /home/tools/hive-1.1.0-cdh5.7.0/conf

cp hive-env.sh.template  hive-env.sh

vi hive-env.sh

设置HADOOP_HOME=/home/tools/hadoop-2.6.0-cdh5.7.0

MySQL配置

前置条件: 安装一个MySQL,本机或者其它服务器上。

上传Mysql驱动 mysql-connector-java-5.1.29.jar到/home/tools/hive-1.1.0-cdh5.7.0/lib目录下

在conf下创建hive-site.xml

<configuration>
  <property>
	<name>javax.jdo.option.ConnectionURL</name>
	<value>jdbc:mysql://localhost:3306/sparksql?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>xxx</value>
  </property>
</configuration>

  

3) 启动Hive

cd  /home/tools/hive-1.1.0-cdh5.7.0/bin

./hive

 说明已经启动成功

登录数据库,sparksql数据库已经创建好了

 可以发现,创建了如下图所示的表

作者:Work Hard Work Smart
出处:http://www.cnblogs.com/linlf03/
欢迎任何形式的转载,未经作者同意,请保留此段声明!

原文地址:https://www.cnblogs.com/linlf03/p/14354650.html