沉沙
2018-10-08
来源 :
阅读 1718
评论 0
摘要:本篇教程探讨了大数据技术 Hadoop学习(15):Hive表操作,希望阅读本篇文章以后大家有所收获,帮助大家对大数据技术的理解更加深入。
本篇教程探讨了大数据技术 Hadoop学习(15):Hive表操作,希望阅读本篇文章以后大家有所收获,帮助大家对大数据技术的理解更加深入。
<
序
上一篇,我们介绍了Hive和对其进行了安装,下面我们就初步的使用hive进行讲解。
下面我们开始介绍hive的创建表,修改表,删除表等。
创建表
一:Hive Client
在Terminal输入hive命令需要安装Hive Client。
二:进入
切换用户,进入hive
su hdfs
hive
三:创建表
语法:
CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name
[COMMENT database_comment]
[LOCATION hdfs_path]
[WITH DBPROPERTIES (property_name=property_value, ...)];
例子:
create table student (
id int,
name string,
openingtime string
);
四:创建带有分区的表
介绍:
一个表可以拥有一个或者多个分区,每个分区以文件夹的形式单独存在表文件夹的目录下。分区是以字段的形式在表结构中存在,通过describe table命令可以查看到字段存在,但是该字段不存放实际的数据内容,仅仅是分区的表示。在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作。有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition概念。表中的一个 Partition 对应于表下的一个目录,Partition 就是辅助查询,缩小查询范围,加快数据的检索速度和对数据按照一定的规格和条件进行管理。
语法:
复制代码
create table table_name (
id int,
dtDontQuery string,
name string
)
partitioned by (date string)
复制代码
例子:
复制代码
create table score (
id int,
studentid int,
score double
)
partitioned by (openingtime string);
复制代码
查看表
一:查看所有表
show tables;
二:查看某个表信息
我们通过Desctribe来显示某个表的信息
语法:
复制代码
DESCRIBE DATABASE [EXTENDED] db_name;
DESCRIBE SCHEMA [EXTENDED] db_name; -- (Note: Hive 0.15.0 and later)
---------------------------------------------------------------------------------
DESCRIBE [EXTENDED|FORMATTED]
[db_name.]table_name[.col_name ( [.field_name] | [.'$elem$'] | [.'$key$'] | [.'$value$'] )* ];
-- (Note: Hive 1.x.x and 0.x.x only)
-- (see "Hive 2.0+: New Syntax" below)
复制代码
例子:
DESCRIBE student;
DESCRIBE score;
三:查看某列信息
DESCRIBE student.id;
修改表
一:改表名
语法:
ALTER TABLE table_name RENAME TO new_table_name;
例子:
alter table student rename to student1;
二:修改列
语法:
ALTER TABLE table_name [PARTITION partition_spec] CHANGE [COLUMN] col_old_name col_new_name column_type
[COMMENT col_comment] [FIRST|AFTER column_name] [CASCADE|RESTRICT];
例子:
alter table student1 change name name1 string;
三:增加/替换列
语法:
ALTER TABLE table_name [PARTITION partition_spec]
ADD|REPLACE COLUMNS (col_name data_type [COMMENT col_comment], ...)
[CASCADE|RESTRICT]
例子:
alter table student1 add columns (sex int);
删除表
一:删除表
语法:
DROP (DATABASE|SCHEMA) [IF EXISTS] database_name [RESTRICT|CASCADE];
例子:
drop table score;
--------------------------------------------------------------------
到此,本章节的内容讲述完毕。
本文由职坐标整理发布,学习更多的大数据技术相关知识,请关注职坐标大技术云计算大技术技术频道!
喜欢 | 0
不喜欢 | 0
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号