第一关:

//创建数据库test1,位于HDFS的/hive/test1下,创建人creator为John,创建日期date为2019-02-25
CREATE DATABASE IF NOT EXISTS test1 LOCATION '/hive/test1'WITH DBPROPERTIES('creator'='John','date'='2019-02-25');//修改数据库test1的创建人为Marry
ALTER DATABASE test1 SET DBPROPERTIES('creator'='Marry');//删除数据库test1
DROP DATABASE test1;

第二关:

//创建数据库test2
CREATE DATABASE IF NOT EXISTS test2;//在test2中创建表student
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');//使用LIKE关键字创建一个与student表结构相同的表student_infoCREATE TABLE IF NOT EXISTS student LIKE student_info;//这里写反了CREATE TABLE IF NOT EXISTS student_info LIKE student;(使用LIKE关键字,只复制表定义,不复制表数据)//删除表student
DROP TABLE  student;

第三关:

//创建数据库test3
CREATE DATABASE IF NOT EXISTS test3;//在数据库tets3中,创建表student
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');//重命名表名字student为student_info
ALTER TABLE student RENAME TO student_info;//修改列名age为student_age
ALTER TABLE student_info CHANGE age student_age INT COMMENT 'student age';//增加一列birthday,数据类型为STRING,说明信息为student birthday
ALTER TABLE student_info ADD COLUMNS (birthday STRING COMMENT 'student birthday');

第四关:

CREATE DATABASE IF NOT EXISTS test4;//在数据库tets4中,创建分区表student,表结构如上所示,和第二、三关相同,
//设置分区列为:stu_year类型STRING、subject类型STRING
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')
PARTITIONED BY (stu_year STRING,subject STRING);//添加两个分区:stu_year='2018',subject='Chinese'和stu_year='2018',subject='Math'
ALTER TABLE student ADD PARTITION (subject='Chinese',stu_year='2018')  ***//2018/chinese***
LOCATION '/hive/test4/student/2018/Chinese'
PARTITION (subject='Math',stu_year='2018')
LOCATION '/hive/test4/student/2018/Math';//重命名表分区:将2018/Math分区重命名为2018/English
ALTER TABLE student PARTITION (subject='Math',stu_year='2018')
RENAME TO PARTITION (subject='English',stu_year='2018');//删除表分区:将2018/Chinese分区删除
ALTER TABLE student DROP IF EXISTS PARTITION (subject='Chinese',stu_year='2018');

第五关(二):

//创建test1数据库
CREATE DATABASE IF NOT EXISTS test1;//在test1中创建表student
CREATE TABLE IF NOT EXISTS test1.student(
Sno INT ,
name STRING ,
age INT ,
sex STRING ,
score STRUCT <Chinese:FLOAT,Math:FLOAT,English:FLOAT>
) ;//创建视图student_view
CREATE VIEW student_view(
Sno,
name_length,
age,
sex
)
AS SELECT Sno,length(name),age,sex FROM student;//修改视图名student_view为student_info_views
alter view student_view rename to student_info_views;//删除student_info_views视图drop view if exists student_info_views;

第六关(二):

//创建test2数据库;
CREATE DATABASE IF NOT EXISTS test2;//创建student表
CREATE TABLE IF NOT EXISTS test2.student(
Sno INT ,
name STRING ,
age INT ,
sex STRING ,
score STRUCT <Chinese:FLOAT,Math:FLOAT,English:FLOAT>
)
row format delimited fields terminated by ','
collection items terminated by '-'
;//将/home/student.txt中的数据导入到表student中
load data local inpath '/home/student.txt'
overwrite into table student;//根据学号Sno创建索引student_index
create index student_index on table student(Sno)
as 'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler'
with deferred rebuild
IN TABLE student_index_table;//删除索引student_index
drop index if exists student_index on student;

座右铭:站在别人的思想上,看见自己的不足,传播错误的经验,愿君不重蹈覆辙。

由于受限于本人经验,难免不足,如有建议,欢迎留言交流。

说明:如果喜欢,请点赞,您的鼓励是本人前进的最好动力。

EduCoder-Hive表DDL操作(一、二)答案-路漫漫远俢兮相关推荐

  1. 大数据开发实战:Hive表DDL和DML

    1.Hive 表 DDL 1.1.创建表 Hive中创建表的完整语法如下: CREATE [EXTERNAL] TABLE [IF NOT EXISTS]  table_name [ (col_nam ...

  2. Hive表结构操作(增加列,删除列,修改列,移动列)

    前言 Hive 表结构操作 内容 1.给hive表中添加某个字段: 格式: alter table 表名 add columns (字段名 字段类型 comment '字段描述'): 示例1: alt ...

  3. hive表ddl导出_Flink 1.11 与 Hive 批流一体数仓实践

    简介:Flink 从 1.9.0 开始提供与 Hive 集成的功能,随着几个版本的迭代,在最新的 Flink 1.11 中,与 Hive 集成的功能进一步深化,并且开始尝试将流计算场景与Hive 进行 ...

  4. hive实战读书笔记(第4章)hive表DDL

    schema-on-read hadoop提供了存储和处理任何结构化,半结构化,非结构化数据的能力,hive允许用户在这些数据上创建一个元数据层,并使用sql接口来访问该层. hive并不是一个数据库 ...

  5. hive 修改分桶数 分桶表_疯狂Hive之DDL操作二(三)

    分区表创建 在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作.有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition分区概念 分区表指的是在创建表的时 ...

  6. HiveQL的DDL操作(二)——创建、分区、查询、修改、删除表

    DDL(data definition language)数据库定义语言: 关键词:create.select.alter.drop,对表的操作. 这篇博文主要详细整理了Hive中对于数据表的常用基本 ...

  7. HIVE基本查询操作(二)——第1关:Hive排序

    第1关:Hive排序 任务描述 本关任务:2013年7月22日买入量最高的三种股票. 相关知识 为了完成本关任务,你需要掌握:1. Hive的几种排序:2. limit使用. hive的排序 ① or ...

  8. Hive简单实际操作(二)

    两个常用的交互命令 不用启动hive就可以执行的命令 1. bin/hive -e "select * from default.animal;" 可以直接显示指定命令后的内容 2 ...

  9. MySQL表的操作(二)

    创建表test3,主键有id和name,id字段自动增长, Name字段不为空,且具有唯一属性, Password为字符串,字段不为空. create table test3(id int auto_ ...

  10. hive 表的常用操作

    使用load 方式加载数据到Hive 表中,注意分区表加载数据的特殊性 如何保存HiveQL 查询结果:保存到表中,保存到本地文件(注意指定列分隔符) 常见查询练习,如group by.having. ...

最新文章

  1. 高温预警c语言,注意 | 高温预警来了!最高38°C!高温7连击!
  2. error LNK2001: unresolved external symbol _main
  3. 关于layui下select下拉框不显示问题解决办法
  4. 0020-使用JDBC向Kudu表插入中文字符-双引号的秘密
  5. Go 远超 Python,机器学习人才极度稀缺,全球 16,655 位程序员告诉你这些真相!...
  6. cad中怎么调出计算机,CAD命令行不见了怎么办|CAD命令行找不到怎么打开
  7. 图片怎么批量转换格式?
  8. 数据库的挂起(suspending)和恢复(resuming)
  9. Nginx反向代理(解决纯前端项目部署到服务器上无法访问接口数据)
  10. MTK Android Led框架分析
  11. 2022美赛C题题目及思路--交易策略
  12. 如何计算做T的收益?
  13. 三类考试新练习试题附答案
  14. ubuntu下通过鼠标右键创建txt文件
  15. Aspose.PDF for Java系列8-转化HTML为PDF
  16. 安装linux系统时将选择下列哪一个操作,linux操作系统考试试卷
  17. VUE中v-for循环
  18. mac下PostgreSQL远程连接服务出错SSL off
  19. 学习英音的电影和电视剧
  20. Android版本10和20有什区别,荣耀v10和v20哪个好?荣耀V20和荣耀V10区别对比

热门文章

  1. wtl单文档选项_WTL_简介与体系
  2. effect和watch 的区别详解
  3. 携程四君子:中国最美创业故事
  4. Python数据分析基础(2)
  5. 从互联网大厂跳槽到国企后,我发现没有一劳永逸的工作。。。
  6. 写口算用计算机作文600字,难忘的口算比赛作文600字
  7. 苹果App Store引发的悲喜狂欢
  8. 字节跳动+阿里+华为+小米等10家大厂面试真题,已开源
  9. strom 在linux下部署、基本命令
  10. 积性函数是什么 超级明白的敷衍介绍