大数据从入门到实战 - Hive表DDL操作(一)
大数据从入门到实战 - Hive表DDL操作(一)
- 一、关于此次实践
- 1、实战简介
- 2、全部任务
- 二、实践详解
- 1、第1关:Create/Alter/Drop 数据库
- 2、第2关:Create/Drop/Truncate 表
- 3、第3关:Alter 表/列
- 4、第4关:表分区
叮嘟!这里是小啊呜的学习课程资料整理。好记性不如烂笔头,今天也是努力进步的一天。一起加油进阶吧!
一、关于此次实践
1、实战简介
Hive数据定义语言(Date Definition Language)包括 Create/Drop/Alter数据库、Create/Drop/Truncate表、Alter表/分区/列、Create/Drop/Alter视图、Create/Drop/Alter索引、Create/Drop函数、Create/Drop/Grant/Revoke角色和权限等内容。
2、全部任务
二、实践详解
1、第1关:Create/Alter/Drop 数据库
#********* Begin *********#
echo "
CREATE DATABASE IF NOT EXISTS test1
LOCATION '/hive/test1'
WITH DBPROPERTIES('creator'='John','date'='2019-02-25');
ALTER DATABASE test1 SET DBPROPERTIES('creator'='Marry');
DROP DATABASE test1;
"
#********* End *********#
评测
2、第2关:Create/Drop/Truncate 表
student表结构:
INFO | TYPE | COMMENT |
---|---|---|
Sno | INT | student sno |
name | STRING | student name |
age | INT | student age |
sex | STRING | student sex |
score | STRUCT <Chinese:FLOAT,Math:FLOAT,English:FLOAT> | student score |
#********* Begin *********#
echo "
CREATE DATABASE IF NOT EXISTS test2
LOCATION '/hive/test2'
WITH DBPROPERTIES ('creator'='Floret','date'='2020-11-16');
CREATE TABLE IF NOT EXISTS test2.student(
Sno INT COMMENT 'student sno',
name STRING COMMENT 'student name',
age INT COMMENT 'student age',
sex STRING COMMENT 'student sex',
score STRUCT<Chinese:FLOAT,Math:FLOAT,English:FLOAT> COMMENT 'student score')
COMMENT 'students information table'
TBLPROPERTIES ('creator'='Floret','date'='2020-11-16');
CREATE TABLE IF NOT EXISTS student_info
LIKE student;
DROP TABLE IF EXISTS student;
"
#********* End *********#
评测
3、第3关:Alter 表/列
INFO | TYPE | COMMENT |
---|---|---|
Sno | INT | student sno |
name | STRING | student name |
age | INT | student age |
sex | STRING | student sex |
score | STRUCT <Chinese:FLOAT,Math:FLOAT,English:FLOAT> | student score |
#********* Begin *********#
echo "
CREATE DATABASE IF NOT EXISTS test3
LOCATION '/hive/test3'
WITH DBPROPERTIES ('creator'='Floret','date'='2020-11-16');
CREATE TABLE IF NOT EXISTS test3.student(
Sno INT COMMENT 'student sno',
name STRING COMMENT 'student name',
age INT COMMENT 'student age',
sex STRING COMMENT 'student sex',
score STRUCT<Chinese:FLOAT,Math:FLOAT,English:FLOAT> COMMENT 'student score')
COMMENT 'students information table'
TBLPROPERTIES ('creator'='Floret','date'='2020-11-16');
ALTER TABLE student RENAME TO student_info;
ALTER TABLE student_info CHANGE age student_age INT COMMENT 'student age';
ALTER TABLE student_info ADD COLUMNS (birthday STRING COMMENT 'student birthday');
"
#********* End *********#
评测
4、第4关:表分区
#********* Begin *********#
echo "
CREATE DATABASE IF NOT EXISTS test4
LOCATION '/hive/test4'
WITH DBPROPERTIES('creator'='Floret','date'='2020-11-16');
CREATE TABLE IF NOT EXISTS test4.student(
Sno INT COMMENT 'student sno',
name STRING COMMENT 'student name',
age INT COMMENT 'student age',
sex STRING COMMENT 'student sex',
score STRUCT<Chinese:FLOAT,Math:FLOAT,English:FLOAT> COMMENT 'student score')
COMMENT 'students information table'
PARTITIONED BY (stu_year STRING,subject STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
COLLECTION ITEMS TERMINATED BY ','
TBLPROPERTIES('creator'='Floret','date'='2020-11-16');
ALTER TABLE student ADD PARTITION (stu_year='2018',subject='Chinese') LOCATION '/hive/test4/student/2018/Chinese'
PARTITION (stu_year='2018',subject='Math') LOCATION '/hive/test4/student/2018/Math';
ALTER TABLE student PARTITION (stu_year='2018',subject='Math') RENAME TO PARTITION (stu_year='2018',subject='English');
ALTER TABLE student DROP IF EXISTS PARTITION (stu_year='2018',subject='Chinese');
"
#********* End *********#
评测
Ending!
更多课程知识学习记录随后再来吧!
就酱,嘎啦!
注:
人生在勤,不索何获。
还没有评论,来说两句吧...