阅读845 返回首页    go 阿里云 go 技术社区[云栖]


表操作__常用命令_基本介绍_大数据计算服务-阿里云

Create Table

命令格式:

  1. CREATE TABLE [IF NOT EXISTS] table_name
  2. [(col_name data_type [COMMENT col_comment], ...)]
  3. [COMMENT table_comment]
  4. [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)]
  5. [LIFECYCLE days]
  6. [AS select_statement]
  7. CREATE TABLE [IF NOT EXISTS] table_name
  8. LIKE existing_table_name

行为:创建一张表

注解:

  • 表名与列名均对大小写不敏感;
  • 表名,列名中不能有特殊字符,只能用英文的a-z, A-Z及数字和下划线’_’,且以字母开头,名称的长度不超过128字节,否则报错;
  • 注释内容是长度不超过1024字节的有效字符串,否则报错;
  • 对于该命令更详细的介绍请参阅 创建表(CREATE TABLE);

示例:

  1. CREATE TABLE IF NOT EXISTS sale_detail(
  2. shop_name STRING,
  3. customer_id STRING,
  4. total_price DOUBLE)
  5. PARTITIONED BY (sale_date STRING,region STRING); --如果没有同名表存在,创建一张分区表sale_detail

Drop Table

命令格式:

  1. DROP TABLE [IF EXISTS] table_name;

行为:

  • 删除一张表
  • 如果不指定IF EXISTS选项而表不存在,则返回异常;若指定此选项,无论表是否存在,皆返回成功。

描述:

  • table_name:要删除的表名;

示例:

  1. DROP TABLE sale_detail; -- 若表存在,成功返回;
  2. DROP TABLE IF EXISTS sale_detail; -- 无论是否存在sale_detail表,均成功返回;

Describe Table

命令格式:

  1. DESC <table_name>;

行为:

  • 返回指定表的信息。具体返回包括:Owner(表的属主),Project(表所属的项目空间),CreateTime(创建时间),LastDDLTime(最后一次DDL操作时间),LastModifiedTime(表中的数据最后一次被改动的时间),InternalTable(表示被描述的对象是表,总是显示YES),Size(表数据所占存储容量的大小,单位Byte),Native Columns(非分区列的信息,包括:列名,类型,备注),Partition Columns(分区列信息,包括:分区名,类型,备注)。

参数:

  • table_name:表名或视图名称

示例:

  1. odps@ project_name>DESC sale_detail; -- 描述一张分区表
  2. +------------------------------------------------------------------------------------+
  3. | Owner: ALIYUN$odpsuser@aliyun.com | Project: test_project |
  4. | TableComment: |
  5. +------------------------------------------------------------------------------------+
  6. | CreateTime: 2014-01-01 17:32:13 |
  7. | LastDDLTime: 2014-01-01 17:57:38 |
  8. | LastModifiedTime: 1970-01-01 08:00:00 |
  9. +------------------------------------------------------------------------------------+
  10. | InternalTable: YES | Size: 0 |
  11. +------------------------------------------------------------------------------------+
  12. | Native Columns: |
  13. +------------------------------------------------------------------------------------+
  14. | Field | Type | Comment |
  15. +------------------------------------------------------------------------------------+
  16. | shop_name | string | |
  17. | customer_id | string | |
  18. | total_price | double | |
  19. +------------------------------------------------------------------------------------+
  20. | Partition Columns: |
  21. +------------------------------------------------------------------------------------+
  22. | sale_date | string | |
  23. | region | string | |
  24. +------------------------------------------------------------------------------------+

注解:

  • 上面给出的是在客户端中运行此命令的示例;
  • 如果是不带分区的表,将不会显示Partition Columns相关信息;
  • 如果描述的是一个视图(View),将不显示InternalTable选项,而是VirtualView选项,其值总是为YES。与此类似地,Size选项将会被ViewText选项替代,表示View的定义,例如:select * from src。关于视图的介绍请参考 创建视图

查看分区信息

命令格式:

  1. desc table_name partition(pt_spec)

行为:查看某个分区表具体的分区信息。示例:

  1. odps@ project_name>desc meta.m_security_users partition (ds='20151010');
  2. +------------------------------------------------------------------------------------+
  3. | PartitionSize: 2109112 |
  4. +------------------------------------------------------------------------------------+
  5. | CreateTime: 2015-10-10 08:48:48 |
  6. | LastDDLTime: 2015-10-10 08:48:48 |
  7. | LastModifiedTime: 2015-10-11 01:33:35 |
  8. +------------------------------------------------------------------------------------+
  9. OK

Show Tables

命令格式:

  1. SHOW TABLES;

行为:列出当前项目空间下所有的表

示例:

  1. odps@ project_name>show tables;
  2. ALIYUN$odps_user@aliyun.com:table_name
  3. ......

注解:

  • 上面给出的是在客户端中运行此命令的示例;
  • ALIYUN是系统提示符,表示用户是阿里云用户;
  • odps_user@aliyun.com是用户名,表示该表的创建者;
  • table_name是表名;

Show Partitions

命令格式:

  1. SHOW PARTITIONS <table_name>;

行为:列出一张表的所有分区;

参数:table_name:指定查询的表名称。表不存在或非分区表报错;

示例:

  1. odps@ project_name>SHOW PARTITIONS table_name;
  2. partition_col1=col1_value1/partition_col2=col2_value1
  3. partition_col1=col1_value2/partition_col2=col2_value2

注解:

  • 上面给出的是在客户端中运行此命令的示例;
  • partition_col1和partition_col2表示该表的分区列;
  • col1_value1,col2_value1,col1_value2,col2_value2表示分区列对应的值;

最后更新:2016-12-12 14:09:47

  上一篇:go 项目空间操作__常用命令_基本介绍_大数据计算服务-阿里云
  下一篇:go 资源操作__常用命令_基本介绍_大数据计算服务-阿里云