EduCoder-Hive表DDL操作(一、二)答案-路漫漫远俢兮
第一关:
//创建数据库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操作(一、二)答案-路漫漫远俢兮相关推荐
- 大数据开发实战:Hive表DDL和DML
1.Hive 表 DDL 1.1.创建表 Hive中创建表的完整语法如下: CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [ (col_nam ...
- Hive表结构操作(增加列,删除列,修改列,移动列)
前言 Hive 表结构操作 内容 1.给hive表中添加某个字段: 格式: alter table 表名 add columns (字段名 字段类型 comment '字段描述'): 示例1: alt ...
- hive表ddl导出_Flink 1.11 与 Hive 批流一体数仓实践
简介:Flink 从 1.9.0 开始提供与 Hive 集成的功能,随着几个版本的迭代,在最新的 Flink 1.11 中,与 Hive 集成的功能进一步深化,并且开始尝试将流计算场景与Hive 进行 ...
- hive实战读书笔记(第4章)hive表DDL
schema-on-read hadoop提供了存储和处理任何结构化,半结构化,非结构化数据的能力,hive允许用户在这些数据上创建一个元数据层,并使用sql接口来访问该层. hive并不是一个数据库 ...
- hive 修改分桶数 分桶表_疯狂Hive之DDL操作二(三)
分区表创建 在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作.有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition分区概念 分区表指的是在创建表的时 ...
- HiveQL的DDL操作(二)——创建、分区、查询、修改、删除表
DDL(data definition language)数据库定义语言: 关键词:create.select.alter.drop,对表的操作. 这篇博文主要详细整理了Hive中对于数据表的常用基本 ...
- HIVE基本查询操作(二)——第1关:Hive排序
第1关:Hive排序 任务描述 本关任务:2013年7月22日买入量最高的三种股票. 相关知识 为了完成本关任务,你需要掌握:1. Hive的几种排序:2. limit使用. hive的排序 ① or ...
- Hive简单实际操作(二)
两个常用的交互命令 不用启动hive就可以执行的命令 1. bin/hive -e "select * from default.animal;" 可以直接显示指定命令后的内容 2 ...
- MySQL表的操作(二)
创建表test3,主键有id和name,id字段自动增长, Name字段不为空,且具有唯一属性, Password为字符串,字段不为空. create table test3(id int auto_ ...
- hive 表的常用操作
使用load 方式加载数据到Hive 表中,注意分区表加载数据的特殊性 如何保存HiveQL 查询结果:保存到表中,保存到本地文件(注意指定列分隔符) 常见查询练习,如group by.having. ...
最新文章
- 高温预警c语言,注意 | 高温预警来了!最高38°C!高温7连击!
- error LNK2001: unresolved external symbol _main
- 关于layui下select下拉框不显示问题解决办法
- 0020-使用JDBC向Kudu表插入中文字符-双引号的秘密
- Go 远超 Python,机器学习人才极度稀缺,全球 16,655 位程序员告诉你这些真相!...
- cad中怎么调出计算机,CAD命令行不见了怎么办|CAD命令行找不到怎么打开
- 图片怎么批量转换格式?
- 数据库的挂起(suspending)和恢复(resuming)
- Nginx反向代理(解决纯前端项目部署到服务器上无法访问接口数据)
- MTK Android Led框架分析
- 2022美赛C题题目及思路--交易策略
- 如何计算做T的收益?
- 三类考试新练习试题附答案
- ubuntu下通过鼠标右键创建txt文件
- Aspose.PDF for Java系列8-转化HTML为PDF
- 安装linux系统时将选择下列哪一个操作,linux操作系统考试试卷
- VUE中v-for循环
- mac下PostgreSQL远程连接服务出错SSL off
- 学习英音的电影和电视剧
- Android版本10和20有什区别,荣耀v10和v20哪个好?荣耀V20和荣耀V10区别对比