Hive从入门到精通系列之--0.Hive概述和安装环境

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Haidaiya/article/details/84851970

一 Hive概述

Hive是由Facebook开源用于解决海量结构化日志的数据统计

Hive是基于Hadoop框架的一个数据仓库分析工具,这里对于数据仓库,何为数据仓库?mysql,orical,sqlserver我们叫这些为数据库,所谓数据仓库就是在这个数据仓库中这些数据库都包含了进去。Hive既然是基于Hadoop的,那么也就意味着启动Hive之前必须要启动Hadoop,Hive可以将结构化的数据映射成为一张表格,并且提供类sql的语法,他是一个分析数据的框架,数据本身存储在HDFS上,数据的操作以mapreduce形式执行,表的元数据存储在mysql中。

学习Hive的要点:

  1. Hive是一个工具,安装只需要一台即可。

  2. Hive的核心是将hql与mapreduce相互转换。

  3. HIve是针对数据仓库提出的一款数据分析的工具,数据仓库是读多写少的。

二 Hive的下载安装

2.1 hive下载

hive的网址:http://hive.apache.org/

点击左侧DOWNLOADS进入下载页面:

点击上图Download  a release now选择对应版本下载,尽量老版本,稳定

2.2 安装配置

(1)使用xftp工具将下载好的hive上传到hadoop102机器上

(2)解压hive的tar包

tar       -zxvf     apache-hive-1.2.1-bin.tar.gz    -C   /opt/module

(3)配置Hive的环境变量

vim    /etc/profile

添加如下:

##HIVE_HOME

export HIVE_HOME=/opt/module/apache-hive-1.2.1-bin

export PATH=$PATH:$HIVE_HOME/bin

最后切记source   /etc/profile使其生效

(4)配置hive-env.sh

进入hive的conf目录下

将hive-env.sh.template名称改为hive-env.sh:mv    hive-env.sh.template       hive-env.sh

vim    hive-env.sh

修改如下:

export HADOOP_HOME=/opt/module/hadoop-2.7.2           基于hadoop'的框架,肯定要告诉它hadoop在哪

export HIVE_CONF_DIR=/opt/module/hive/conf                 配置hive的配置文件地址,就是安装目录的那个conf

三 Hive的启动

3.1 启动Hadoop

sbin/start-dfs.sh

sbin/start-yarn.sh

3.2准备两个文件夹

进入hadoop文件下    bin/hdfs   dfs   -mkdir  /tmp

                                  bin/hdf     dfs   -mkdir   -p    /user/hive/warehouse

关于tmp,我进去看过,感觉就是个临时文件,具体干什么的我也没有搞清楚,旁边也没有大神可以询问

关于warehouse,这个我知道,Hive是一个工具,他可以建立表的元数据,前面也提过它存储在HDFS上,具体的位置就是这个warehouse

3.3Hive的基本操作

前面说Hive是一个数据分析的工具,牢记工具二字,它不是像hadoop和zookeeper一样提供服务的框架,它只是一个操作hadoop的哦你根据,客户端,好比方说nvicat和mysql等数据库的关系。

(1)启动Hive:进入hive目录下 bin/hive

如果此时报错,

java.lang.RuntimeException: The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: rwxr-xr-x

如上图所示,说明这是权限问题,会Linux都会改:bin/hdfs dfs -chmod -R 777 /tmp。

(2)查看数据库:show   databases;

(3)退出Hive:exit;或者quit;

(4)显示所有表格:show  tables;

(5)创建表格:create   table    test1(id   int,name    string);

(6)查看表的结构:desc   test1;

和sql语句真的很像,但是在Hive中,这些语句叫做hql,简直不要太尴尬。

 

猜你喜欢

转载自blog.csdn.net/Haidaiya/article/details/84851970