Home  >  Article  >  Database  >  Hive详细教程

Hive详细教程

WBOY
WBOYOriginal
2016-06-07 16:48:321153browse

在hadoop生态圈中属于数据仓库的角色。他能够管理hadoop中的数据,同时可以查询hadoop中的数据。本质上讲,hive是一个SQL解析引擎

为什么选择Hive?

Hive的安装

1.1在hadoop生态圈中属于数据仓库的角色。他能够管理hadoop中的数据,同时可以查询hadoop中的数据。

本质上讲,hive是一个SQL解析引擎。Hive可以把SQL查询转换为MapReduce中的job来运行。

hive有一套映射工具,可以把SQL转换为MapReduce中的job,可以把SQL中的表、字段转换为HDFS中的文件(夹)以及文件中的列。

这套映射工具称之为metastore,一般存放在derby、mysql中。

相关阅读:

基于Hadoop集群的Hive安装

Hive内表和外表的区别

Hadoop + Hive + Map +reduce 集群安装部署

Hive本地独立模式安装

Hive学习之WordCount单词统计

1.2 hive在hdfs中的默认位置是/user/hive/warehouse,是由配置文件hive-conf.xml中属性hive.metastore.warehouse.dir决定的。

2.hive的安装

(1)解压缩、重命名、设置环境变量

(2)在目录$HIVE_HOME/conf/下,执行命令mv hive-default.xml.template  hive-site.xml重命名

在目录$HIVE_HOME/conf/下,执行命令mv hive-env.sh.template  hive-env.sh重命名

(3)修改hadoop的配置文件hadoop-env.sh,修改内容如下:

export HADOOP_CLASSPATH=.:$CLASSPATH:$HADOOP_CLASSPATH:$HADOOP_HOME/bin

(4)在目录$HIVE_HOME/bin下面,修改文件hive-config.sh,增加以下内容:

export JAVA_HOME=/usr/local/jdk

export HIVE_HOME=/usr/local/hive

export HADOOP_HOME=/usr/local/hadoop

3.安装mysql

(1)删除linux上已经安装的mysql相关库信息。rpm  -e  xxxxxxx  --nodeps

执行命令rpm -qa |grep mysql 检查是否删除干净

(2)执行命令 rpm -i  mysql-server-********  安装mysql服务端

(3)启动mysql 服务端,执行命令  mysqld_safe &

(4)执行命令 rpm -i  mysql-client-********  安装mysql客户端

(5)执行命令mysql_secure_installation设置root用户密码

4. 使用mysql作为hive的metastore

(1)把mysql的jdbc驱动放置到hive的lib目录下

(2)修改hive-site.xml文件,修改内容如下:


    javax.jdo.option.ConnectionURL
    jdbc:mysql://hadoop0:3306/hive?createDatabaseIfNotExist=true


    javax.jdo.option.ConnectionDriverName
    com.mysql.jdbc.Driver


    javax.jdo.option.ConnectionUserName
    root


    javax.jdo.option.ConnectionPassword
    admin

用户接口,包括 CLI,JDBC/ODBC,WebUI
元数据存储,通常是存储在关系数据库如 mysql, derby 中
解释器、编译器、优化器、执行器
Hadoop:用 HDFS 进行存储,利用 MapReduce 进行计算

更多详情见请继续阅读下一页的精彩内容

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn