1.hive简介
hive是一个基于Hadoop的开源数据库仓库,用于存储和处理海量结构化的数据。数据存放于Hadoop文件系统中,而不是数据库,但是提供了一套类数据库的数据存储和处理机制,采用HQL(类SQL)语言对这些数据进行自动化的管理和处理。hive的海量结构化数据可以看做是一个个的表,但实际上数据存储于hdfs中。hive经过对语句进行解析和转换,最终生成一系列基于Hadoop的mapreduce任务,通过执行这些任务完成数据处理。
2.hive的优点
具有较强的延展性,可扩展,容错性,学习成本低,不必开发专门的mapreduce应用,十分适合数据仓库的统计分析。
3.
4.元数据存储
(1)元数据
元数据就是hive要操作的数据的描述信息,生产环境中最常用mysql来存储hive的元数据。
(2)元数据包含表的名字,表的列和分区及其属性,表的属性(是否为外部表),表的数据所在目录等
(3)元数据存放位置由hive配置文件来决定,在生产环境下位于HDFS中
5.hive安装-hive-site.xml文件
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
//配置连接数据库的URL,MySQL数据库的地址,以及连接的数据库名称
<value>jdbc:mysql://master:3306/hive_13?characterEncoding=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>hadoop</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
//设置连接数据库的密码
<value>hadoop</value>
</property>
</configuration>