本文为您介绍如何通过客户端使用MaxCompute服务的功能。
下载安装
下载客户端,安装并配置客户端后即可正常使用。详情请参见安装并配置客户端。
说明
- 请不要依赖客户端的输出格式执行任何解析工作。客户端的输出格式不承诺向前兼容,不同版本间的客户端命令格式及行为有差异。更多版本客户端下载请参见aliyun-odps-console。
- 客户端从0.28.0版开始支持JDK 1.9,之前的版本只支持JDK 1.8。
- 客户端从0.27.0版本开始支持MaxCompute 2.0新数据类型,详情请参见新数据类型。
安装并配置好客户端后,您可以借助命令行工具执行以下操作。更多客户端命令介绍,请参见常用命令列表。
运行客户端
- 运行安装路径下bin目录中的
.bat
文件即可运行客户端,返回信息如下。[admin: ~]$odpscmd Aliyun ODPS Command Line Tool Version 1.0 @Copyright 2012 Alibaba Cloud Computing Co., Ltd. All rights reserved.
在光标位置输入命令(以分号作为语句的结束标志),回车即可运行。odps@ odps> insert overwrite table table_name select * from table_name;
- 在Windows中使用CMD命令行运行客户端。
在CMD命令行中,进入到bin目录下,执行
odpscmd
,返回如下表示运行成功。更多命令请参见启动参数。D:\maxcompute\bin>odpscmd Aliyun ODPS Command Line Tool Version 0.30.2 @Copyright 2018 Alibaba Cloud Computing Co., Ltd. All rights reserved.
获取帮助
- 使用Windows的CMD命令行执行命令。
在CMD命令行中,进入到bin目录下,执行如下命令。
odpscmd -h
- 使用MaxCompute客户端执行命令。
- 在客户端执行如下命令查看全部帮助信息。
help; --等价于如下命令。 h;
- 在客户端执行如下命令查看与关键字有关的命令提示。
help [keyword];
例如,获取与表操作相关的命令提示,如下所示。odps@ odps> help table; Usage: alter table merge smallfiles Usage: show tables [in ] list|ls tables [-p,-project ] Usage: describe|desc [.] [partition()] Usage: read [.] [([,..])] [PARTITION ()] [line_num]
- 在客户端执行如下命令查看全部帮助信息。
启动参数
在Windows下以CMD命令行启动时,您可指定一系列参数,如下所示。
Usage: odpscmd [OPTION]...
where options include:
--help (-h)for help
--project= use project
--endpoint= set endpoint
-u -p user name and password
-k will skip begining queries and start from specified position
-r set retry times
-f <"file_path;"> execute command in file
-e <"command;[command;]..."> execute command, include sql command
-C will display job counters
启动参数说明如下。
参数 | 说明 |
---|---|
-help (-h) | 获取客户端帮助信息。 |
--project= use project | 指定进入的项目空间名称。 |
--endpoint= set endpoint | 指定使用的Endpoint信息,详情请参见配置Endpoint。 |
-u | 指定使用的用户名称。 |
-p | 指定用户的密码。 |
-k | 表示忽略前面的语句,从指定位置的语句开始运行。
说明
|
-r | 设置重试次数。 |
-f | 指定读取文件。 |
-e | 指定执行的命令。 |
-C | 显示作业计数器。 |
示例
- 指定
-f
参数读取本地文件。- 准备本地脚本文件script.txt,假设存放在D盘,文件内容如下所示。
DROP TABLE IF EXISTS test_table_mj; CREATE TABLE test_table_mj (id string, name string); DROP TABLE test_table_mj;
- 打开您的CMD命令行工具,进入客户端所在路径,运行以下命令。
odpscmd\bin>odpscmd -f D:/script.txt;
- 准备本地脚本文件script.txt,假设存放在D盘,文件内容如下所示。
- 指定
-k
参数读取指定位置的参数。- 假设文件/tmp/test.sql中有三条SQL语句,如下所示。
drop table table_name; create table table_name (dummy string); insert overwrite table table_name select count(*) from table_name;
- 执行如下语句忽略前两条语句,直接从第三条语句开始执行。
odpscmd -k 3 -f test.sql
- 假设文件/tmp/test.sql中有三条SQL语句,如下所示。
- 通过执行
set odps.sql.select.output.format={needHeader:false,fieldDelim:""};
命令,关闭表头显示,便于Shell调用。在Shell(或Windows命令行)执行窗口,用户会可能需要使用
odpscmd -e SQL语句
执行得到的动态返回值,Shell的变量会获取这个动态返回值,然后在Shell中执行后续作业。此场景需要返回值不包含运行信息、表头等额外信息。您可以通过set odps.sql.select.output.format={needHeader:false,fieldDelim:""};
关掉表头显示。例如表noheader中有一列三行数据,为1、2、3。执行如下命令,将计算结果重定向stdout到目标句柄,计算结果仅包含具体数据,不包含其他额外信息:
odpscmd -e "set odps.sql.select.output.format={""needHeader"":false,""fieldDelim"":""""};select * from noheader;" >/temp/test.txt
返回结果如下:1 2 3
获取当前登录用户
执行如下命令即可获取当前登录用户的云账号、使用的Endpoint配置和项目名。
whoami;
示例
odps@ hiveut>whoami;
Name: odpstest@aliyun.com
End_Point: http://service.<regionid>.maxcompute.aliyun.com/api
Project: lijunsecuritytest
退出
执行如下命令退出客户端。
odps@ > quit;
--等价于下面的命令。
odps@ > q;
在文档使用中是否遇到以下问题
更多建议
匿名提交