实验2Hive数据定义

实验2Hive数据定义

实验目的及要求

  1. 了解Hive的基本操作。

  2. 了解Hive的内部表与外部表的区别。

实验系统环境及版本

  1. Linux Ubuntu 20.04

  2. JDK1.8

  3. Hadoop3.1.0

  4. MySQL8.0.28

  5. Hive3.1.2

实验任务

  1. 数据仓库的创建与删除。

  2. 内部表和外部表的创建、修改、删除。

实验内容及步骤

  1. 实验环境准备和启动

  2. 输入jps检查Hadoop相关进程,查看是否已经启动。若未启动,切换到/usr/local/hadoop目录下,启动Hadoop。

jps

cd /usr/local/hadoop

./sbin/start-all.sh

在这里插入图片描述

3.启动Hive。切换到/opt/hive目录下,开启Hive。

cd /opt/hive

./bin/hive
在这里插入图片描述

4.Hive数据仓库的操作

在Hive中创建一个数据仓库,名为hive_DWH:

create database hive_DWH;

在这里插入图片描述

在Hive中查询数据仓库:

show databases;

在这里插入图片描述

在创建数据仓库时,应避免新建的库名与已有库名重复,可以加上if not exists关键字。

create database if not exists hive_DWH_1;

在这里插入图片描述

切换数据仓库hive_DWH:

use hive_DWH;

在这里插入图片描述

查看数据仓库hive_DWH的详细信息:

desc database hive_DWH;

在这里插入图片描述

删除数据仓库hive_DWH_1:

drop database hive_DWH_1;

在这里插入图片描述

5.Hive数据表的操作

查看已存在的表:

show tables;
在这里插入图片描述

创建一个名为test的内部表,有两个字段,分别为test_id和test_name,数据类型分为Int和String:

create table test(test_id int,test_name string)

row format delimited fields terminated by ‘\t’;

在这里插入图片描述

再创建一次与刚才表名相同的表,看一下报错信息:

create table test(test_id int,test_name string)

row format delimited fields terminated by ‘\t’;

在这里插入图片描述

提示错误,该表已经存在!说明表与数据仓库一样,名称不能重复,解决方法是加入if not exists关键字。

创建一个外部表,表名为test2,有两个字段,分别为test_id和test_name,数据类型分为Int和String:

create external table if not exists test2(test_id int,test_name string)

row format delimited fields terminated by ‘\t’;

在这里插入图片描述

修改test表的表结构,对test表添加两个字段group_id和test_code:

alter table test add columns(group_id string,test_code string);

在这里插入图片描述

查看添加字段后的test表结构:

desc test;

在这里插入图片描述

修改test2表的表名,把test2表重命名为test3:

alter table test2 rename to test3;

在这里插入图片描述

删除名为test3的表并查看:

drop table test3;

show tables;

在这里插入图片描述

创建与已有表相同结构的表。创建一个与test表结构相同的表,名为test4,这里要用到like关键字:

create table test4 like test;

在这里插入图片描述

表创建完成并查看结果:

show tables;

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值