项目空间操作
进入项目空间
use <project_name>
查询项目空间
list projects;
SetProject
setproject <key>=<value>;
Project属性的详细说明表见
https://help.aliyun.com/document_detail/27828.html?spm=a2c4g.11186623.6.637.42df2d74VSl82N
其中还包含了公网和VPC的白名单设置
表操作
Create Table
create table [if not exists] table_name
[(col_name data_type [comment col_comment], ...)]
[comment table_comment]
[partitioned by (col_name data_type [comment col_comment], ...)]
[lifecycle days]
[as select_statement]
create table [if not exists] table_name
like existing_table_name
ChangeOwner
alter table <table_name> changeowner to <new_owner>;
Drop Table
drop table [if exists] <table_name>;
查看表信息
desc <table_name>; --查看表信息
desc extended <table_name>; --查看外部表信息
查看分区信息
查看指定表的某个指定分区信息。
desc <table_name> partition(<pt_spec>);
Show Tables和Show Tables like
查看项目空间下的表。
show tables; --查看项目空间下所有的表
show table like 'chart'; --模糊查询与匹配规则能匹配上的表
Show Partitions
查看指定表的所有分区。
show partitions <table_name>;
实例操作
查看实例信息(Show Instances/Show P)
show instances [from startdate to enddate] [number];
show p [from startdate to enddate] [number];
show instances [-all];
show p [-all];
show p -p <project name>;
返回由当前用户创建的实例信息。查询结果输出项包括:StartTime(时间精确到秒)、RunTime(s)、Status(实例状态)。Instance有以下6种状态:
- Running:正在运行。
- Success:成功结束。
- Waiting:等待中。
- Failed:作业失败,但是尚未改写目标表数据。
- Suspended:挂起。
- Cancelled:被中止。
参数说明
- startdate、enddate:返回从起始时间startdate到结束时间enddate的实例信息,需满足格式:yyyy-mm-dd,精度到天。可选参数,如果不指定,则返回在三天内提交的实例。
- number:指定返回实例的数量。依照时间排序,返回距离当前时间最近的number个实例信息。如果不指定number,则返回满足要求的所有实例信息。
- -all:返回当前项目下所有执行过的实例,默认最大返回50条。注意执行该命令的用户需要有Project的List权限。如需返回更多条记录,请使用-limit number参数,即可限制返回number条记录。
- project name:项目名称,您使用的账号必须已经是项目成员。
查看实例状态(Status Instance)
status instance_id;
- 返回指定实例的状态,状态包括Success、Failed、Running和Cancelled。
- 如果此实例并非当前用户创建,则报异常返回。
Top Instance
查看正在执行的作业信息。
top instance; --返回当前项目中当前账号所提交的正在执行的作业信息
top instance -all; --返回当前项目下所有正在执行的作业,默认最大返回50条。如需返回更多条记录可使用-limit
Kill Instance
停止指定实例(只能停止Running状态的)。
kill <instance_id>;
该命令是一个异步的过程,在系统接受此请求并返回后,并不意味着分布式的作业已经停止,而只代表系统已接收到请求,因此还要用status命令确定
Desc Instance
根据具体的实例ID获得作业信息。
desc instance instance_id ;
Wait Instance
根据具体的实例ID获得任务运行日志信息,包含Logview链接。再通过查看Logview可以获得任务的详细日志。
wait instance_id;
注意:获取最近3天Instance的Logview可正常打开。超过3天的Instance对应Logview可获取,但会因为过期被清除而打不开。
资源操作
添加资源
add file <local_file> [as alias] [comment 'cmt'][-f];
add archive <local_file> [as alias] [comment 'cmt'][-f];
add table <table_name> [partition (spec)] [as alias] [comment 'cmt'][-f];
add <PY | JAR> <localfile[.py |.jar]> [COMMENT 'cmt'][-f];
参数说明
- file/archive/table/jar/py:表示资源类型。资源类型的介绍请参见资源(Resource)。
- local_file:表示本地文件所在路径。并以此文件名作为该资源名,资源名是资源的唯一标识。
- table_name:表示MaxCompute中的表名。目前不支持添加外部表为资源。
- [PARTITION (spec)]:当添加的资源为分区表时,MaxCompute仅支持将某个分区作为资源,不支持将整张分区表作为资源。
- alias:指定资源名,不加该参数时默认文件名为资源名。Jar及Python类型资源不支持此功能。
- [comment’cmt’]:给资源添加注释。
- [-f]:当存在同名的资源时,此操作会覆盖原有资源。如果不指定此选项,存在同名资源时,操作将失败。
注意:单个资源文件的大小不能超过500M。
查看资源列表
查看当前项目空间下所有的资源。
list resources;
下载资源
get resource <resource_name> <path>;
删除资源
drop resource <resource_name>;
函数操作
注册函数
create function <function_name> as <package_to_class> using <resource_list>;
参数说明
- function_name:新建的UDF函数名称。函数名称需要唯一,同名函数只能注册一次。注意:通常情况下自建函数无法覆盖系统内建函数,只有项目空间的Owner才有权利覆盖内建函数,但极其不建议这么做。
- package_to_class:包名,此名称须用引号引起。
- Java UDF:参数值为从顶层包名一直到实现UDF类的类名。
- Python UDF:参数值为Python脚本名.类名。
- resource_list:UDF所用到的资源列表。
- 资源必须先上传至MaxCompute。
- 如果您的代码通过Distributed Cache接口读取资源文件,此列表中还要包括UDF所读取的资源文件列表。
- 资源列表由多个资源名组成,资源名之间由逗号分隔,且资源列表必须用引号引起。
- 如果需要指定资源所在的Project,写法为
/resources/ 。
注销函数
drop function <function_name>;
查看函数清单
list functions; --查看当前项目空间下所有函数
list functions -p project_name; --查看指定项目空间下所有函数
SET操作
用于设置MaxCompute或用户自定义的系统变量,key和value都应使用小写。
set <KEY>=<VALUE>
MaxCompute系统变量参考:
https://help.aliyun.com/document_detail/96004.html?spm=a2c4g.11186623.2.11.6450482b13yGj1
此外,还可以通过如下命令查看当前项目空间下的系统变量:
show flags;
时区配置操作
时区配置的方式
MaxCompute Project时区默认是中国的东八区。可以通过以下两种方式进行时区的配置:
Session级别
set odps.sql.timezone=<timezoneid>;
将以上语句与计算语句一同提交即可。
Project级别
setProject odps.sql.timezone=<timezoneid>;
该命令需要由项目空间Owner执行,建议只对新增的Project进行设置,不建议对已有数据的Project进行设置。
使用限制及注意事项
参考https://help.aliyun.com/document_detail/123278.html?spm=a2c4g.11186623.2.13.5736740dpluPOn
ps:这玩意一般都用不上。
其它操作
Alias命令
为资源创建别名。
alias <alias>=<real>;
计量预估(Cost SQL命令)
预估出一条SQL的计量信息,包含输入数据的大小、UDF个数以及SQL复杂等级。
cost sql <SQL Sentence>;