【大数据】CentOS7 安装 Hive(附有Hive基本使用-练习)

1.安装并配置Hive

  1. 下载

  2. 利用Xshell中的xftp,将apache-hive导入到CentOS7的/opt/source文件夹下
    在这里插入图片描述

  3. 解压

    ·解压命令:tar -zxvf apache-hive-1.2.1-bin.tar.gz
    ·重命名:mv apache-hive-1.2.1-bin hive-1.2.1
    ·移动到/opt/module目录下:mv hive-1.2.1 ../module
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  4. 配置hive-env.sh文件

    ·修改/opt/module/hive-1.2.1/conf下的hive-env.sh文件
     /opt/module/hive-1.2.1/conf下没有hive-env.sh文件,但有个hive-env.sh.template文件,把hive-env.sh.template文件复制一份,并把复制的文件命名为:hive-env.sh
      命令:cp hive-env.sh.template hive-env.sh
    同理(依次进行以下操作):
    	cd /hive-1.2.1/conf
    	cp hive-env.sh.template hive-env.sh
    	cp hive-default.xml.template hive-site.xml
    	cp hive-log4j.properties.template hive-log4j.properties
    	cp hive-exec-log4j.properties.template hive-exec-log4j.properties
    
     ·配置hive-env.sh文件
     	1)配置HADOOP_HOME路径:
     		export HADOOP_HOME=/opt/module/hadoop-2.7.2
     	2)配置HIVE_CONF_DIR路径:
     		export HIVE_CONF_DIR=/opt/module/hive-1.2.1/conf
    
    ·修改hive-site.xml文件
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    

    在这里插入图片描述
    ·配置hive-env.sh文件

    配置前:
    在这里插入图片描述
    配置后:
    在这里插入图片描述
    ·修改hive-site.xml文件
    修改前(保留前两行,其他删除重写):
    在这里插入图片描述
    修改后:
    在这里插入图片描述

  5. 添加mysql驱动包

    如果本机有mysql的驱动jar包,就直接拷贝到hive的安装目下的lib目录。
    
  6. 配置hive环境变量

    ·vim /etc/profile
    末尾添加如下内容:
    	export HIVE_HOME=/opt/module/hive-1.2.1
    	export PATH=$PATH:$HIVE_HOME/bin
    ·使环境变量生效:
    	source /etc/profile
    
  7. 初始化元数据库

    schematool -dbType mysql -initSchema
    

在这里插入图片描述

处理hive中文乱码

进入数据库中执行以下5条SQL语句:

alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set 'utf8';
alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set 'utf8';
alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set 'utf8';
alter table COLUMNS_V2 modify column COMMENT varchar(256) character set 'utf8';
alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set 'utf8';

执行完后,重启MySQL服务
在这里插入图片描述

2.Hive基本操作

准备工作:
	1.确保hadoop正常运行
	2.确保mysql正常运行
	3.确保jdk正常安装
  1. 启动hive

    ·hive --service metastore &
    ·启动命令:hive
    

    在这里插入图片描述

  2. 查看数据库

    ·查看命令:show databases;
    

    在这里插入图片描述

  3. 打开默认数据库

    命令:use default;
    
  4. 显示default数据库中的表

    命令:show tables;
    

    在这里插入图片描述

  5. 创建一张表

    命令:create table student(id int,name string);
    

    在这里插入图片描述

  6. 显示数据库中有几张表

    命令:show tables
    

    在这里插入图片描述

  7. 查看表的结构

    命令:desc student;
    

    在这里插入图片描述

  8. 向表中插入数据

    命令:insert into student values(1000,"ss");
    

    在这里插入图片描述

  9. 查询表中数据

    命令:select * from student;
    

    在这里插入图片描述

  10. 退出hive

    命令:quit;
    

3.将本地文件导入Hive

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

    说明:student.txt的字段格式要与Hive数据库中student表中的字段一致。
    
    1)在/opt/module/目录下创建datas
    2)在/opt/module/datas/目录下创建student.txt文件并添加数据。
    
    依次执行如下命令:
    	cd /opt/module
    	mkdir datas
    	cd datas
    	touch student.txt
    	vi student.txt
    	输入具体内容如下(注意以tab键间隔):
    1001	aaa
    1102	bbb
    1003	ccc
    1004	ddd
    1005	eee
    

    在这里插入图片描述

    在这里插入图片描述

  2. hive实际操作

    1)启动hive:hive
    2)显示数据库:showdatabases;
    3)使用default数据库:use default;
    4)显示default数据库中的表:show tables;
    5)删除已创建的student表:drop table student;
    6)创建student表,并声明文件分隔符' \t':create table student(id int,name string) row format delimited fields terminated by '\t';
    7)加载/opt/module/datas/student.txt文件到student数据库表中:load data local inpath '/opt/module/datas/student.txt' into table student;
    8)Hive查询结果:select * from student;
    

    在这里插入图片描述
    在这里插入图片描述

练习1

本机准备一个数据文件/opt/module/datas/data.txt,数据内容:
在这里插入图片描述
创建测试数据库:

create database test;

使用新的数据库:

use test;

创建hero表:

create table hero(id int,name string,work string) row format delimited fields terminated by ',';

往表中加载数据:

load data local inpath "/opt/module/datas/data.txt" into table hero;

查询数据:

select * from hero;

在这里插入图片描述

练习2

  1. 本机准备一个数据文件/opt/module/datas/data1.txt,数据内容:
    在这里插入图片描述
  2. 将data1.txt数据上传到HDFS(在hadoop-2.7.2的bin目录下执行以下命令)
· cd /opt/module/hadoop-2.7.2/bin
· hdfs dfs -put /opt/module/datas/data1.txt /

在这里插入图片描述

  1. 创建studet1表
hive
use test
create table student1(id int,name string,sex string) row format delimited fields terminated by '\t';
  1. 把hdfs中的data1.txt数据加载到student1表中
load data inpath '/data1.txt' into table student1;
  1. 查询数据
select * from student1;

在这里插入图片描述

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

X.IO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值