2023.11.14-hive之表操作练习和文件导入练习

目录

需求1.数据库基本操作

需求2. 默认分隔符案例


需求1.数据库基本操作

-- 1.创建数据库test_sql,cs1,cs2,cs3

create database test_sql;
create database cs1;
create database cs2;
create database cs3;

-- 2.1删除数据库cs2

drop database cs2;

-- 2.2在cs3库中创建一个stu表,有id,name两个字段,然后删除cs3

use cs3;
create table stu(
    id int,
    name string);
drop database cs3 cascade ; --有表的库要加cascade

-- 3.切换数据库cs1

use cs1;

-- 4.1查询所有数据库

show databases ;

-- 4.2查看当前使用的数据库  select current_database

select current_database();

-- 4.3查看cs1数据库信息  desc database 表名

desc database cs1;

需求2. 默认分隔符案例

 

文件team_ace_player.txt中记录了手游《王者荣耀》主要战队内最受欢迎的王牌选手信息,内容如下,分隔符是hive的默认分隔符,要求在Hive中建表,把对应的数据存储到hdfs中

1成都AG超玩会一诺 2重庆QGhappyHurt 3DYG久诚 4上海EDG.M浪浪 5武汉eStarProCat 6RNG.M暴风锐 7RW侠渡劫 8TES滔搏迷神 9杭州LGD大鹅伪装 10南京Hero久竞清融

字段:id、team_name(战队名称)、ace_player_name(王牌选手名字)

分析一下:数据都是原生数据类型,且字段之间分隔符是\001,因此在建表的时候可以省去row format语句,因为hive默认的分隔符就是\001

提示: 可以直接使用insert方式插入数据,也可以提前建文件把对应的文件上传到hdfs中

 1.创建表
--步骤1创建表
create table team_ace(
    id int,
    team_name string,
    ace_player_name string
)row format delimited
fields terminated by ''
;
2.加载数据

txt文件如下

2023.11.14-hive之表操作练习和文件导入练习_第1张图片 

--步骤2加载数据,手动将此题目里的txt文件上传到hdfs中 ,然后加载到表中
load data inpath '/input/team_ace_player.txt' into table team_ace;
3.验证数据
--步骤3验证数据
select * from team_ace;
--结果如下

--1,成都AG超玩会,一诺
-- 2,重庆QGhappy,Hurt
-- 3,DYG,久诚
-- 4,上海EDG.M,浪浪
-- 5,武汉eStarPro,Cat
-- 6,RNG.M,暴风锐
-- 7,RW侠,渡劫
-- 8,TES滔搏,迷神
-- 9,杭州LGD大鹅,伪装
-- 10,南京Hero久竞,清融
 --需求:请查询来自上海战队的ace选手名字
select ace_player_name from team_ace where team_name like '%上海%';

你可能感兴趣的:(hive,hadoop,数据仓库)