hive基础及系统架构

1、hive是什么

  hive是建立在hadoop上的数据仓库,提供数据的提取、转化和加载。

2、hive的数据存储

  1】hive的数据存储基于hdfs

  2】存储结构主要包括:数据库、文件、表、索引、视图

  3】hive默认可以直接加载文本文件(TextFile),还支持SecquenceFile、RCFile

  4】创建表时,指定hive数据的列分隔符与行分隔符,hive即可解析数据

3、hive的系统架构

  

  1)、用户接口:包括jdbc、cli、webui

  2)、元数据存储:通常存储在关系数据库中,如mysql、derby

    例:存储元数据到mysql中:

a  安装MySQL数据库

     yum install -y mysql-server mysql mysql-deve

b、重启mysql服务

     service mysqld restart

c、登陆MySQL,并授予权限

     mysql -u root -p ***

    分配权限:grant all privileges on *.* to 'root'@'hadoop-yarn' identified by 'root123';

    刷新权限:flush privileges

d、创建hive专用的元数据库:“hive”

            create database hive;

        e.hive的hive-site.xml的配置

 

<configuration>
<property>
  <name>javax.jdo.option.ConnectionURL</name>
 <value>jdbc:mysql://192.168.1.121:3306/hive?characterEncoding=utf-8</value>
 <description>JDBC connect string for aJDBCmetastore</description>
</property>
<property>
 <name>javax.jdo.option.ConnectionDriverName</name>
 <value>com.mysql.jdbc.Driver</value>
 <description>Driver class name for aJDBCmetastore</description>
</property>
<property>
 <name>javax.jdo.option.ConnectionUserName</name>
 <value>hive</value>
 <description>username to use againstmetastoredatabase</description>
</property>
<property>
 <name>javax.jdo.option.ConnectionPassword</name>
 <value>hive</value>
 <description>password to use againstmetastoredatabase</description>
</property>
<property>
 <name>hive.metastore.schema.verification</name>
 <value>false</value>
</property>
</configuration>

  3)、解释器、优化器、编译器、执行器

  4)、Hadoop:用hdfs进行存储,mapreduce进行计算

原文地址:https://www.cnblogs.com/kwzblog/p/7466612.html