欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

大数据之Hive(二)-Hive安装运行环境搭建和Hive基本操作

程序员文章站 2022-04-28 23:54:18
...

1、Hive安装和配置

Hive1.2.1资源
链接:https://pan.baidu.com/s/14kVGv6CUGPufPOD57LShGg
提取码:69op

1、通过XFTP工具将Hive的压缩包远程传输到Linux的/opt/software目录下

大数据之Hive(二)-Hive安装运行环境搭建和Hive基本操作

2、解压apache-hive-1.2.1-bin.tar.gz到/opt/module/目录下面

[zhukun@hadoop102 software]$ tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /opt/module/

大数据之Hive(二)-Hive安装运行环境搭建和Hive基本操作

3、修改/opt/module/hive/conf目录下的hive-env.sh.template名称为hive-env.sh

[zhukun@hadoop102 conf]$ mv hive-env.sh.template hive-env.sh

4、配置hive-env.sh文件
配置HADOOP_HOME路径

export HADOOP_HOME=/opt/module/hadoop-2.7.2

配置HIVE_CONF_DIR路径

export HIVE_CONF_DIR=/opt/module/hive/conf

大数据之Hive(二)-Hive安装运行环境搭建和Hive基本操作

2、Hadoop集群配置

1、必须启动hdfs和yarn

[zhukun@hadoop102 hadoop-2.7.2]$ sbin/start-dfs.sh
[zhukun@hadoop103 hadoop-2.7.2]$ sbin/start-yarn.sh

大数据之Hive(二)-Hive安装运行环境搭建和Hive基本操作
大数据之Hive(二)-Hive安装运行环境搭建和Hive基本操作

2、在HDFS上创建/tmp和/user/hive/warehouse两个目录并修改他们的同组权限可写

[zhukun@hadoop102 hadoop-2.7.2]$ bin/hadoop fs -mkdir /tmp
[zhukun@hadoop102 hadoop-2.7.2]$ bin/hadoop fs -mkdir -p /user/hive/warehouse
[zhukun@hadoop102 hadoop-2.7.2]$ bin/hadoop fs -chmod g+w /tmp
[zhukun@hadoop102 hadoop-2.7.2]$ bin/hadoop fs -chmod g+w /user/hive/warehouse

大数据之Hive(二)-Hive安装运行环境搭建和Hive基本操作
大数据之Hive(二)-Hive安装运行环境搭建和Hive基本操作

3、Hive基本操作

1、启动hive

[zhukun@hadoop102 hive]$ bin/hive

大数据之Hive(二)-Hive安装运行环境搭建和Hive基本操作

2、查看数据库

hive> show databases;

大数据之Hive(二)-Hive安装运行环境搭建和Hive基本操作

3、打开默认数据库

hive> use default;

4、显示default数据库中的表

hive> show tables;

大数据之Hive(二)-Hive安装运行环境搭建和Hive基本操作

5、创建一张表

hive> create table teacher(id int, name string);

大数据之Hive(二)-Hive安装运行环境搭建和Hive基本操作
大数据之Hive(二)-Hive安装运行环境搭建和Hive基本操作

6、查看表的结构

hive> desc teacher;

大数据之Hive(二)-Hive安装运行环境搭建和Hive基本操作

7、向表中插入数据

hive> insert into teacher values(1001,"zhangshan");

可能会报如下错误:
大数据之Hive(二)-Hive安装运行环境搭建和Hive基本操作
失败原因:经查发现发现/tmp/hadoop/.log提示java.lang.OutOfMemoryError: Java heap space,原因是namenode内存空间不够,jvm不够新job启动导致。
解决方法:将你的hive可以设置成本地模式来执行任务试试:

hive> set hive.exec.mode.local.auto=true;

再次插入数据后就成功了
大数据之Hive(二)-Hive安装运行环境搭建和Hive基本操作

8、查询表中数据

hive> select * from teacher;

大数据之Hive(二)-Hive安装运行环境搭建和Hive基本操作

9、退出hive

hive> quit;

4、将本地文件导入Hive的案例

需求:将本地/opt/module/datas/student.txt这个目录下的数据导入到hive的student(id int, name string)表中。

1.数据准备

在/opt/module/datas这个目录下准备数据
(1)在/opt/module/目录下创建datas

[zhukun@hadoop102 module]$ mkdir datas

(2)在/opt/module/datas/目录下创建student.txt文件并添加数据

[zhukun@hadoop102 datas]$ touch stu.txt
[zhukun@hadoop102 datas]$ vi stu.txt

大数据之Hive(二)-Hive安装运行环境搭建和Hive基本操作
注意以tab键间隔。

2.Hive实际操作

1、启动hive

[zhukun@hadoop102 hive]$ bin/hive

2、创建stu表, 并声明文件分隔符’\t’

hive> create table stu(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';

3、加载/opt/module/datas/student.txt 文件到stu数据库表中

hive> load data local inpath '/opt/module/datas/stu.txt' into table stu;

4、Hive查询结果

hive> select * from stu;

5、将HDFS文件系统上的文件导入Hive

在HDFS文件系统的根目录下上传一个stu2.txt
大数据之Hive(二)-Hive安装运行环境搭建和Hive基本操作

hive> load data inpath '/stu2.txt' into table stu;

大数据之Hive(二)-Hive安装运行环境搭建和Hive基本操作
发现根目录下的stu2.txt直接没了。相当于将这个文件移动到了/user/hive/warehouse下,
实际上没有移动数据只是把NameNode里面的元数据的路径改了。
大数据之Hive(二)-Hive安装运行环境搭建和Hive基本操作
大数据之Hive(二)-Hive安装运行环境搭建和Hive基本操作