1.查看创建表的信息 【show create table】

hive> show create table student;
OK
createtab_stmt
CREATE TABLE `student`(
`age` int,
`name` string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
STORED AS INPUTFORMAT
'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
'hdfs://hadoop01:9000/user/hive/warehouse/test.db/student'
TBLPROPERTIES (
'numFiles'='',
'last_modified_by'='root',
'last_modified_time'='',
'COLUMN_STATS_ACCURATE'='false',
'transient_lastDdlTime'='',
'numRows'='-1',
'totalSize'='',
'rawDataSize'='-1')
Time taken: 0.059 seconds, Fetched: 20 row(s)

2.查看表的字段信息 【desc】

hive> desc student;
OK
col_name data_type comment
age int
name string
Time taken: 0.08 seconds, Fetched: 2 row(s)

3.查看表的详细属性信息 【desc formatted】

hive> desc formatted student;
OK
col_name data_type comment
# col_name data_type comment age int
name string # Detailed Table Information
Database: test
Owner: root
CreateTime: Wed Aug 19 14:13:07 SGT 2015
LastAccessTime: UNKNOWN
Protect Mode: None
Retention: 0
Location: hdfs://hadoop01:9000/user/hive/warehouse/test.db/student
Table Type: MANAGED_TABLE
Table Parameters:
COLUMN_STATS_ACCURATE false
last_modified_by root
last_modified_time 1439964845
numFiles 0
numRows -1
rawDataSize -1
totalSize 0
transient_lastDdlTime 1439964845 # Storage Information
SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
InputFormat: org.apache.hadoop.mapred.TextInputFormat
OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
Compressed: No
Num Buckets: -1
Bucket Columns: []
Sort Columns: []
Storage Desc Params:
field.delim \t
serialization.format \t
Time taken: 0.084 seconds, Fetched: 35 row(s)

4.重命名表 【Rename To】

  • 对于内部表,除了更新表的元数据之外,还对表的目录名称进行修改。
  • 对于外部表,这个操作只更新元数据,但不会更改存放数据的目录名称。
hive> alter table student rename to students;
OK
Time taken: 0.107 seconds

5.添加新列 【Add Column】

hive> desc students;  --修改前的列名及对应类型
OK
col_name data_type comment
age int
name string
Time taken: 0.077 seconds, Fetched: 2 row(s)

hive> alter table students
> add columns(id int); --增加id列,类型int
OK
Time taken: 0.173 seconds

hive> desc students; --修改后的列名及对应类型
OK
col_name data_type comment
age int
name string
id int
Time taken: 0.127 seconds, Fetched: 3 row(s)

6.修改列名及对应类型 【Change Column】

hive> desc t081901;
OK
col_name data_type comment
te int --旧的列名和数据类型
name string
date string
country string
Time taken: 0.091 seconds, Fetched: 4 row(s)

hive> alter table t081901
> change column te --要进行修改的列名
> temperature int; --修改后的列名和数据类型
OK
Time taken: 0.164 seconds

hive> desc t081901;
OK
col_name data_type comment
temperature int --查看修改后的效果
name string
date string
country string
Time taken: 0.101 seconds, Fetched: 4 row(s)

7.替换【重置】表的列名和类型 【Replace Column】

  这个操作其实是将原有的列删除,然后再添加新的指定的列。

hive> create table student(
> name int, --旧的列名及对应的数据类型
> age string)
> row format delimited
> fields terminated by '\t';
OK
Time taken: 0.103 seconds

hive> alter table student
> replace columns( --replace columns替换数据列
> age int,
> name string);
OK
Time taken: 0.121 seconds

hive> desc student;
OK
col_name data_type comment
age int --替换后的列名及对应的数据类型
name string
Time taken: 0.105 seconds, Fetched: 2 row(s)

8.创建一个模式一样的新表 【Like】

CREATE TABLE new_table LIKE existing_table;

8.1.清空表【delete和truncate】

  • Hive中不支持delete table T_Name操作。
  • Hive中支持 truncate table T_Name操作。对于分区表,它是将各个分区下面的数据文件删除,但是分区的目录还存在。相当于执行了以下命令:hive > dfs -rmr /user/hive/warehouse/my_table;

9.增加分区【Add Partition】

hive> alter table logs add
> partition(date='2015-01-03',country='USA') --分区
> location '/user/hive/warehouse/logs/date=2015-01-03/country=USA' --分区路径
hive> alter table logs add
> partition(date='2015-01-03',country='USA'); --新增分区,不指定路径
OK
Time taken: 0.261 seconds

10.删除分区【Drop Partition】

hive> alter table logs drop partition(date='2015-01-03',country='USA');
Dropped the partition date=2015-01-03/country=USA
OK
Time taken: 1.344 seconds
hive> alter table logs DROP partition(date='2015-01-03');   --直接删除一级分区
Dropped the partition date=2015-01-03/country=USA
OK
Time taken: 0.464 seconds

11.创建视图【Create View】

hive> CREATE VIEW stu_view AS select stu.name,stu.age from test.stu; --创建视图
hive> show tables; --查看视图(show views命令)
OK
stu
stu_view hive> select * from stu_view;
OK
Tie 18
Coat 19
Hat 21
Scarf 37 hive> drop view stu_view; --删除视图(不能使用命令drop table)
OK
Time taken: 1.366 seconds hive> show tables;
OK
stu

12.设置NULL值的替代字符

create table test (id string)
ROW FORMAT SERDE'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES (
'field.delim'='\t',
'serialization.null.format'=' '
) STORED AS TEXTFILE; OR 或者 alter table test SET SERDEPROPERTIES('serialization.null.format' = '');

Hive表的修改Alter的更多相关文章

  1. Hive 表操作(HIVE的数据存储、数据库、表、分区、分桶)

    1.Hive的数据存储 Hive的数据存储基于Hadoop HDFS Hive没有专门的数据存储格式 存储结构主要包括:数据库.文件.表.试图 Hive默认可以直接加载文本文件(TextFile),还 ...

  2. Oracle数据库零散知识05 -- 表创建,修改

    1.表的创建 Create table student02(sno number); 2.表的删除 Drop table student02; 3.表的重命名 Rename student02 to ...

  3. 20-02-27 hive表的几个问题

    1.hive表的动态分区 2.hive  表如何修改列名 3.group  by  对统计指标的影响  (group by 的本质) 4.row_number 对数据的影响

  4. 第2节 hive基本操作:11、hive当中的分桶表以及修改表删除表数据加载数据导出等

    分桶表 将数据按照指定的字段进行分成多个桶中去,说白了就是将数据按照字段进行划分,可以将数据按照字段划分到多个文件当中去 开启hive的桶表功能 set hive.enforce.bucketing= ...

  5. Hive学习之修改表、分区、列

    Hive学习之修改表.分区.列 https://blog.csdn.net/skywalker_only/article/details/30224309 https://www.cnblogs.co ...

  6. 从零自学Hadoop(15):Hive表操作

    阅读目录 序 创建表 查看表 修改表 删除表 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceL ...

  7. Hive表中的NULL值处理

    1 MySQL 到 Hive 表的sqoop任务把 原本的NULL 变成字符串 ‘null’ 了 alter table ${table_name} SET SERDEPROPERTIES('seri ...

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

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

  9. hive表信息查询:查看表结构、表操作等--转

    原文地址:http://www.aboutyun.com/forum.PHP?mod=viewthread&tid=8590&highlight=Hive 问题导读:1.如何查看hiv ...

随机推荐

  1. Strut2中的标签

    Struts2的标签用法和示例 1)s:property标签:property 标签用来输出一个值栈属性的值 示例: 输出 Action 属性 customerId 的值: <s:propert ...

  2. 让网站全面支持v4/v6 HTTP、HTTPS、HTTP/2最简单方法是增加Nginx反向代理服务器

    bg6cq/nginx-install: nginx install script https://github.com/bg6cq/nginx-install [原创]step-by-step in ...

  3. MICRO-SERVICE

    这个缩放立方体 (scale cube) 演示了各种可用的缩放选项: 缩放立方体 X 轴缩放 分担了应用程序的多个副本之间的工作负载,通常会使用一个负载平衡器或一个集群管理器. Y 轴缩放 将应用程序 ...

  4. python 时间与时间戳之间的转换

    https://blog.csdn.net/kl28978113/article/details/79271518 对于时间数据,如2016-05-05 20:28:54,有时需要与时间戳进行相互的运 ...

  5. 【转】dd命令详解及利用dd测试磁盘性能

    dd命令详解及利用dd测试磁盘性能   linux下dd命令详解 名称: dd 使用权限: 所有使用者 manpage 定义: convert and copy a file 使用方式: dd [op ...

  6. Again Array Queries---Lightoj1100(循环暴力)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1100 题意是给你n个数,q个询问,每次求出 a 到 b(从0开始)最小差值: 直接暴力 ...

  7. shipyard 中文版安装 -- Docker web管理

    #本文使用markdown文档格式 #Docker web管理平台 #shipyard 中文版安装 #hipyard可对容器.镜像.仓库.docker节点进行管理的web系统 #+++++++++++ ...

  8. Python高级特性(1):Iterators、Generators和itertools(转)

    译文:Python高级特性(1):Iterators.Generators和itertools [译注]:作为一门动态脚本语言,Python 对编程初学者而言很友好,丰富的第三方库能够给使用者带来很大 ...

  9. python 递归深度优先搜索与广度优先搜索算法模拟实现

    一.递归原理小案例分析 (1)# 概述 递归:即一个函数调用了自身,即实现了递归 凡是循环能做到的事,递归一般都能做到! (2)# 写递归的过程 1.写出临界条件2.找出这一次和上一次关系3.假设当前 ...

  10. Spotlight 连接SuSE11 linux报错的解决方法

    1. 在客户端安装spotlight: 2.在SuSE11中建立新用户,并且安装了sysstat包: 3.使用spotlight连接服务器,连接时提示    errorcode:3114   reas ...