本文將為您介紹如何藉助用戶端命令列工具使用 MaxCompute 服務的基礎功能。在使用 MaxCompute 用戶端前,請首先安裝並配置用戶端

说明
  • 請不要依賴用戶端的輸出格式來做任何的解析工作。用戶端的輸出格式不承諾向前相容,不同版本間的用戶端命令格式及行為有差異。

  • 關於用戶端的基本命令介紹,請參見 基本命令

  • 新版用戶端:點擊此處 即可下載新版用戶端。關於不同環境下用戶端的安裝配置資訊請參見安裝並配置用戶端

安裝並配置好用戶端後,您可藉助命令列工具進行以下操作:

擷取協助

若想顯示用戶端的協助資訊,命令格式如下所示:

odps@ >./bin/odpscmd -h;

您也可以在互動模式下鍵入h;help;(不區分大小寫)。

用戶端還提供了 help [keyword]; 命令,可擷取到與關鍵字有關的命令提示。例如:輸入 help table; 可以得到與 table 操作相關的命令提示,如下所示:


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]

啟動參數

在啟動時,您可指定一系列參數,如下所示:


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

以 -f 參數為例,操作如下:

  1. 準備本地指令檔 script.txt,假設存放在 D 盤,檔案內容如下所示:

    
    DROP TABLE IF EXISTS test_table_mj;
    CREATE TABLE test_table_mj (id string, name string);
    DROP TABLE test_table_mj;
  2. 運行如下命令:

    odpscmd\bin>odpscmd -f  D:/script.txt;

互動模式

直接運行用戶端即可進入到互動模式,如下所示:


[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 DUAL SELECT * FROM DUAL;

在游標位置輸入命令(以分號作為語句的結束標誌),斷行符號即可運行。

續跑

  • 在用 -e 或 -f 模式運行時,如果有多條語句,想從中間某條語句開始運行,可以指定參數 -k, 表示忽略前面的語句,從指定位置的語句開始運行。當指定參數 <= 0 時,從第一條語句開始執行。

  • 每個以分號分隔的語句被視為一條有效語句,在運行時會列印出當前運行成功或者失敗的是第幾條語句。

樣本如下:

假設檔案/tmp/dual.sql 中有三條 SQL 陳述式,如下所示:


drop table dual;
create table dual (dummy string);
insert overwrite table dual select count(*) from dual;

若想忽略前兩條語句,直接從第三條語句開始執行,命令格式如下所示:

odpscmd -k 3 -f dual.sql

擷取當前登入使用者

若想擷取當前登入使用者,命令格式如下所示:

whoami;

樣本如下:


odps@ hiveut>whoami;
Name: odpstest@aliyun.com
End_Point: http://service.odps.aliyun.com/api
Project: lijunsecuritytest

通過以上命令,即可擷取當前登入使用者的雲帳號、使用的 End_Point 配置和項目名。

退出

若想退出用戶端,命令格式如下所示:

odps@ > quit;

您也可輸入如下命令退出用戶端:

odps@ > q;