大数据从入门到实战 - Hive表DDL操作(一)


叮嘟!这里是小啊呜的学习课程资料整理。好记性不如烂笔头,今天也是努力进步的一天。一起加油进阶吧!
在这里插入图片描述

一、关于此次实践

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表结构:

INFOTYPECOMMENT
SnoINTstudent sno
nameSTRINGstudent name
ageINTstudent age
sexSTRINGstudent sex
scoreSTRUCT <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 表/列

在这里插入图片描述

INFOTYPECOMMENT
SnoINTstudent sno
nameSTRINGstudent name
ageINTstudent age
sexSTRINGstudent sex
scoreSTRUCT <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!
更多课程知识学习记录随后再来吧!

就酱,嘎啦!

在这里插入图片描述

注:
人生在勤,不索何获。


版权声明:本文为qq_43543789原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。