操作1:建表语句(不带分区)
creat table page_view (user_id bigint,view_time bigint,page_url string,referrer_url string,ip string);
注意事项:MAXCOMPUT创建表的时候必须加上table这个关键字,如以上语句如果为create后直接跟着表名则会报错,语句结束时以;结尾。
操作2:建表语句(带分区)
creat table page_view (user_id bigint,view_time bigint,page_url string,referrer_url string,ip string) partitioned by (dt string,country string);
注意事项:分区字段接在partitioned by之后,分区字段单列,以上语句dt和country为两个分区,根据顺序dt为一级分区,country为二级分区。
操作3:加注释的方法
creat table page_view (user_id bigint,view_time bigint,page_url string,referrer_url string,ip string comment 'creat table sql') partitioned by (dt string,country string);
注意事项:comment后为注释,用单引号区分。
操作4:复制表(仅复制表的结构)
creat table page_view_test like page_view;
注意事项:like语句只复制表的结构,目录相同,新建的表中没有数据,也不复制原表的生命周期。
操作5:复制表(仅复制表的数据)
creat table page_view_url as select page_url,referrer_url from page view;
注意事项:as语句只复制表的数据,不完全复制表的结构,新建的表中没有分区,也不复制原表的生命周期。
操作6:查看表的信息
desc page_view;
注意事项:没有关键字table。
操作7:查看外部表的信息
desc extended page_view;
注:没有关键字table。
drop table page_view;
注:删除表
操作8:查看外部表的信息
drop table if exists page_view;
注:如果不指定if exists选项而表不存在,则返回异常。若指定此选项,无论表是否存在,皆返回成功。
操作9:修改表的名字
alter table page_view rename to page_view_1;
操作10:修改表的注释
alter table page_view set comment 'new';
操作11:清除非分区表中的信息
turncate table page_view;
操作12:清除非分区表中的信息
turncate table page_view drop partition (dt='2011-12-17);
操作13:设置表的生命周期
creat table page_view (user_id bigint) lifecycle 100;
注:新建表并把表的生命周期设置为100天。
操作14:修改表的生命周期
alter table page_view set lifecycle 50;
注:修改已经有的表格生命周期为50天。
操作15:增加分区
alter table page_view add if not exists partition (dt='2015-1-1',region='shanghai');
注:仅支持新增分区,不支持新增分区字段。如果未指定if not exists而同名的分区已存在,则出错返回。
操作16:删除分区
alter table page_view drop if exists partiton (dt='2015-1-1',region='shanghai');
注:如果分区不存在且未指定if exists,则报错返回。
操作17:增加列
alter table page_view add columns (id bigint,url string);
操作18:修改列的名字
alter table page_view change column id rename to id_1;
操作19:修改列的注释
alter table page_view change column id comment 'change';
操作20:修改分区列的值
alter table page_view partition (dt='2013-01-01') rename to partition (dt='2013-01-02');
注:不支持修改分区列列名,只能修改分区列对应的值。修改多级分区的一个或者多个分区值,多级分区的每一级的分区值都必须写上。
操作21:创建视图
creat view if not exists data_1;
注:创建视图时,必须有对视图所引用表的读权限。视图只能包含一个有效的select语句。视图可以引用其它视图,但不能引用自己,也不能循环引用。不允许向视图写入数据,例如使用insert into或者insert overwrite操作视图。当建好视图后,如果视图的引用表发生了变更,有可能导致视图无法访问,例如删除被引用表。您需要自己维护引用表及视图之间的对应关系。如果没有指定if not exists,在视图已经存在时用create view会导致异常。这种情况可以用create or replace view来重建视图,重建后视图本身的权限保持不变。
操作22:删除视图
drop view if exists data_1;
操作23:修改视图名称
alter view data_1 rename to data_2;