1、创建表:建表语句说明:表名与列名均对大小写不敏感。在创建表时,如果不指定 if not exists 选项而存在同名表,则返回出错;若指定此选项,则无论是否存在同名表,即使原表结构与要创建的目标表结构不一致,均返回成功。已存在的同名表的元信息不会被改动。数据类型:包括 Bigint,Double,Boolean,Datetime,Decimal,String 等多种数据类型。表名,列名中不能有特殊字符,只能用英文的 a-z,A-Z 及数字和下划线 _,且以字母开头,名称的长度不超过 128 字节。Partitioned by:指定表的分区字段,目前仅支持 String 类型,其他类型行为未定义。分区值不可以有双字节字符(如中文),必须是以英文字母 a-z,A-Z 开始后可跟字母数字,名称的长度不超过 128 字节。允许的字符包括:空格 ‘ ‘,冒号’:’,下划线’_’,美元符’$’,井号’#’,点’.’,感叹号’!’和’@’,出现其他字符行为未定义。例如:”\t”,”\n”,”/”等 。当利用分区字段对表进行分区时,新增分区、更新分区内数据和读取分区数据均不需要做全表扫描,可以提高处理效率。注释内容是长度不超过 1024 字节的有效字符串。lifecycle 指明此表的生命周期,单位:天。create table like 语句不会复制源表的生命周期属性。目前,在表中建的分区层次不能超过 6 级。一个表允许的分区个数支持按照具体的 project 配置,默认 60,000个。
2、创建表的场景如下:假设需要创建一张用户表 user,包括如下信息:user_id bigint 类型:用户标识,唯一标识一个用户。sex bigint 类型:性别(0,未知;1,男;2,女)。age bigint:用户年龄。(COMMENT 是对每个字段进行描述)按照 region(区域)和 dt(日期)进行分区,生命周期为 365 天。写好建表语句,然后全部选中,再点击‘运行’查看日志里的的状态是否是‘successfully’,如果是则运行成功,不是则会报错‘failed’,如图2建表语句如下所示:
3、创建分区当创建一张分区表之后,为了往该表里面导入不同分区数据,您需要创建分区。命令如下:
4、比如上面的例子,给用户表 user 添加区域为 GUANGZHOU,日期为 20171127 的分区,句子显示如下:
5、查看表信息当创建表成功之后,您可以通过如下命令查看表的信息:
6、例如,查看上述示例中表 test3 信息:desc user;显示如图;CreateTime:建表的时间LastModifiedTime:最后修改操作时间Lifecycle:生命周期Native Columns:表例的信息Partition Columns:分区信息
7、删除表
8、删除除例子表user ;drop tableuser;显示结果如图;运行选中的删除表语句,确认运行成功,再运行descuser 时,就会报错,找不到user表