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

  1. hive> show create table student;
  2. OK
  3. createtab_stmt
  4. CREATE TABLE `student`(
  5. `age` int,
  6. `name` string)
  7. ROW FORMAT DELIMITED
  8. FIELDS TERMINATED BY '\t'
  9. STORED AS INPUTFORMAT
  10. 'org.apache.hadoop.mapred.TextInputFormat'
  11. OUTPUTFORMAT
  12. 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
  13. LOCATION
  14. 'hdfs://hadoop01:9000/user/hive/warehouse/test.db/student'
  15. TBLPROPERTIES (
  16. 'numFiles'='',
  17. 'last_modified_by'='root',
  18. 'last_modified_time'='',
  19. 'COLUMN_STATS_ACCURATE'='false',
  20. 'transient_lastDdlTime'='',
  21. 'numRows'='-1',
  22. 'totalSize'='',
  23. 'rawDataSize'='-1')
  24. Time taken: 0.059 seconds, Fetched: 20 row(s)

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

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

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

  1. hive> desc formatted student;
  2. OK
  3. col_name data_type comment
  4. # col_name data_type comment
  5.  
  6. age int
  7. name string
  8.  
  9. # Detailed Table Information
  10. Database: test
  11. Owner: root
  12. CreateTime: Wed Aug 19 14:13:07 SGT 2015
  13. LastAccessTime: UNKNOWN
  14. Protect Mode: None
  15. Retention: 0
  16. Location: hdfs://hadoop01:9000/user/hive/warehouse/test.db/student
  17. Table Type: MANAGED_TABLE
  18. Table Parameters:
  19. COLUMN_STATS_ACCURATE false
  20. last_modified_by root
  21. last_modified_time 1439964845
  22. numFiles 0
  23. numRows -1
  24. rawDataSize -1
  25. totalSize 0
  26. transient_lastDdlTime 1439964845
  27.  
  28. # Storage Information
  29. SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
  30. InputFormat: org.apache.hadoop.mapred.TextInputFormat
  31. OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
  32. Compressed: No
  33. Num Buckets: -1
  34. Bucket Columns: []
  35. Sort Columns: []
  36. Storage Desc Params:
  37. field.delim \t
  38. serialization.format \t
  39. Time taken: 0.084 seconds, Fetched: 35 row(s)

4.重命名表 【Rename To】

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

5.添加新列 【Add Column】

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

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

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

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

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

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

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

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

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

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

  8. hive> alter table student
  9. > replace columns( --replace columns替换数据列
  10. > age int,
  11. > name string);
  12. OK
  13. Time taken: 0.121 seconds

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

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

  1. 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】

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

10.删除分区【Drop Partition】

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

11.创建视图【Create View】

  1. hive> CREATE VIEW stu_view AS select stu.name,stu.age from test.stu; --创建视图
  2. hive> show tables; --查看视图(show views命令)
  3. OK
  4. stu
  5. stu_view
  6.  
  7. hive> select * from stu_view;
  8. OK
  9. Tie 18
  10. Coat 19
  11. Hat 21
  12. Scarf 37
  13.  
  14. hive> drop view stu_view; --删除视图(不能使用命令drop table)
  15. OK
  16. Time taken: 1.366 seconds
  17.  
  18. hive> show tables;
  19. OK
  20. stu

12.设置NULL值的替代字符

  1. create table test (id string)
  2. ROW FORMAT SERDE'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
  3. WITH SERDEPROPERTIES (
  4. 'field.delim'='\t',
  5. 'serialization.null.format'=' '
  6. ) STORED AS TEXTFILE;
  7.  
  8. OR 或者
  9.  
  10. 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. ITIL信息技术基础架构库

    服务是什么? 服务是向客户提供价值的一种手段,使客户不用承担特定的成本和风险就可以获得所期望的结果 PS:运维工作中需要实时反馈 RACI RACI是一个相对直观的模型,用以明确组织变革过程中的各个角 ...

  2. If a cache file exists, it is sent directly to the browser, bypassing the normal system execution.

    w开启缓存,缓存视图,用于后续请求. https://www.codeigniter.com/userguide3/overview/appflow.html http://codeigniter.o ...

  3. arcgis server/portal 日志格式化脚本

    友好化格式阅读 背景 通过arcgis for server manager中的logs选项卡可以查看当前站点的日志.其该页面提供了友好的日志显示方式. 但是在实际情况中,如arcgis server ...

  4. python基础-第六篇-6.1生成器与迭代器

    迭代器 特点: 访问者不需要关心迭代器内部的结构,仅需通过next()方法不断去取下一个内容 不能随机访问集合中的某个值 ,只能从头到尾依次访问 访问到一半时不能往回退 便于循环比较大的数据集合,节省 ...

  5. python基础-第七篇-7.3反射

    定义 反射是根据字符串的形式去对操作其成员 了解反射前,我先看看内置方法__import__,还记得这个内置方法吗? __import__  用于以字符串的形式导入模块 inp = input('请输 ...

  6. VC2005 warning C4819 消除方法

    一. Warning C4819:The file contains a character that can ot be represented in the current code page(9 ...

  7. CloudFoundry V2 单机版离线安装(伪离线安装)

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/wangdk789/article/details/30255763     之前安装CloudFou ...

  8. SpringMVC-SimpleDEMO

    本博文主要将如何配置一个简单的SpringMVC的DEMO,由上一讲的SpringMVC工作流程来看,配置一个SpringMVC的步骤是简单而清晰的. 一.引入SpringMVC所需依赖   < ...

  9. Java基础知识陷阱(二)

    本文发表于本人博客. 上次说了一些关于字符串的知识,都是比较基础的,那这次也说下关于对象地址问题,比如传参.先看下面代码: public void changeInt(int a){ a = ; } ...

  10. windows计划任务定时运行synctoy的坑

    每次设置好synctoy之后,需要让synctoy运行一次,windows的计划任务才能成功执行,如果变更了synctoy的设置,而没有让synctoy成功执行过,windows计划任务将执行失败,坑 ...