【源】从零自学Hadoop(15):Hive表操作
2016-01-24 15:29
162 查看
阅读目录
序
创建表
查看表
修改表
删除表
系列索引
本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作。
文章是哥(mephisto)写的,SourceLink
下面我们开始介绍hive的创建表,修改表,删除表等。
例子:
一个表可以拥有一个或者多个分区,每个分区以文件夹的形式单独存在表文件夹的目录下。分区是以字段的形式在表结构中存在,通过describe table命令可以查看到字段存在,但是该字段不存放实际的数据内容,仅仅是分区的表示。在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作。有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition概念。表中的一个 Partition 对应于表下的一个目录,Partition 就是辅助查询,缩小查询范围,加快数据的检索速度和对数据按照一定的规格和条件进行管理。
语法:
例子:
语法:
例子:
例子:
例子:
例子:
例子:
--------------------------------------------------------------------
到此,本章节的内容讲述完毕。
本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作。
文章是哥(mephisto)写的,SourceLink
序
创建表
查看表
修改表
删除表
系列索引
本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作。
文章是哥(mephisto)写的,SourceLink
序
上一篇,我们介绍了Hive和对其进行了安装,下面我们就初步的使用hive进行讲解。下面我们开始介绍hive的创建表,修改表,删除表等。
创建表
一:Hive Client
在Terminal输入hive命令需要安装Hive Client。二:进入
切换用户,进入hivesu 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;
--------------------------------------------------------------------
到此,本章节的内容讲述完毕。
系列索引
【源】从零自学Hadoop系列索引本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作。
文章是哥(mephisto)写的,SourceLink
相关文章推荐
- 【源】从零自学Hadoop(16):Hive数据导入导出,集群数据迁移上
- 【源】从零自学Hadoop(17):Hive数据导入导出,集群数据迁移下
- [置顶]【源】从零自学Hadoop系列索引
- 我是怎么处理其他网站恶意爬虫博客园的,希望大家喜欢(第二弹)
- 【源】Centos修改DNS重启或者重启network服务后丢失问题处理
- 【源】从零自学Hadoop(01):认识Hadoop
- 【源】从零自学Hadoop(02):环境准备
- 【源】从零自学Hadoop(03):Linux准备上
- 【源】从零自学Hadoop(04):Linux准备下
- 【源】从零自学Hadoop(05):Ambari
- 【源】从零自学Hadoop(06):集群搭建
- 【源】从零自学Hadoop(08):第一个MapReduce
- 【源】从零自学Hadoop(09):使用Maven构建Hadoop工程
- 我是怎么处理其他网站恶意爬虫博客园的,希望大家喜欢
- Project Euler 110:Diophantine reciprocals II 丢番图倒数II
- SILVERLIGHT开始在整个网站积累更深入的体验(转载)
- Linux 基础:软件安装(rpm,yum,源代码)
- 架构 框架 设计模式 --备用
- Linux 搭建LAMP 源码编译详细文档
- Adopting Microservices at Netflix: Lessons for Architectural Design