MaxCompute基於阿里雲雲命令列,為您提供雲上用戶端環境,您無需手動安裝即可通過雲命令列工具使用用戶端(odpscmd)。本文為您介紹MaxCompute的雲命令列(odpscmd)的使用注意事項和簡單樣本。
前提條件
若通過RAM使用者登入MaxCompute的雲命令列(odpscmd),請確認RAM使用者已具備AliyunCloudShellFullAccess許可權。具體授權操作,請參見存取控制RAM。
使用限制
雲命令列(Cloud Shell)是阿里雲提供的網頁版命令列工具,MaxCompute基於阿里雲雲命令列,提供了雲上用戶端環境,您無需手動安裝即可通過雲命令列工具使用用戶端(odpscmd)。關於雲命令列的詳情請參見什麼是雲命令列?。
-
雲命令列限制
限制項
限制說明
虛擬機器數量
無論開啟多少會話視窗,雲命令列在同一時刻只會建立一台虛擬機器。所有會話視窗都會自動連接到此虛擬機器上。
會話視窗
最多可以開啟5個會話視窗。
無操作銷毀
無互動式操作30分鐘或者關閉所有會話視窗將視為終止操作,在終止操作後15分鐘雲命令列將銷毀此台虛擬機器。再次啟動雲命令列時,會為您建立一台全新的虛擬機器。
到期銷毀
雲命令列建立的虛擬機器只有1小時使用到期日,到期後雲命令列將會立即銷毀此台虛擬機器。再次啟動雲命令列時,會為您建立一台全新的虛擬機器。
檔案儲存體
雲命令列為您掛載 10 GB的臨時儲存空間,您可以將您的檔案存放在/home/shell目錄,但會隨著虛擬機器的銷毀而被重設。您可以選擇掛載儲存空間來實現儲存,每次雲命令列啟動時會為您自動載入。
禁止使用
長時間使用以及計算或網路密集型等惡意進程將不受支援,並可能會導致會話在沒有任何警告的情況下被終止甚至被禁用。
-
地區限制
目前僅華東1(杭州)、華東2(上海)、華北2(北京)、華南1(深圳)地區支援使用雲命令列串連MaxCompute。
注意事項
在任意地區啟動MaxCompute的雲命令列(odpscmd),雲命令列的服務和臨時儲存服務預設都部署在上海地區,若您的專案在其他地區,使用此功能會存在資料安全風險,請謹慎使用。
進入雲命令列(odpscmd)環境
-
登入MaxCompute控制台,在左上方選擇地區。
-
在頁面單擊右上方的命令行。
-
在项目选择對話方塊中選擇要管理的專案,單擊确定。
說明如果介面彈出掛載NAS相關提示,您可以根據需要進行掛載。具體操作,請參見(可選)掛載NAS。
雲命令列(odpscmd)載入完成後,樣本輸出如下。
inflating: odpscmd_pub/plugins/cupid/lib/jackson-core-2.9.5.jar inflating: odpscmd_pub/plugins/cupid/lib/odps-console-cupid-public-0.43.1-public.jar inflating: odpscmd_pub/plugins/cupid/plugin.ini inflating: odpscmd_pub/plugins/volume2/lib/odps-console-volume2-0.43.1-public.jar inflating: odpscmd_pub/plugins/volume2/lib/odps-sdk-volumefs-0.43.1-public.jar inflating: odpscmd_pub/plugins/volume2/lib/hadoop-shaded-protobuf_3_7-1.1.1.jar inflating: odpscmd_pub/plugins/volume2/lib/hadoop-annotations-3.3.3.jar inflating: odpscmd_pub/plugins/volume2/lib/hadoop-auth-3.3.3.jar inflating: odpscmd_pub/plugins/volume2/lib/hadoop-common-3.3.3.jar /home/shell Aliyun ODPS Command Line Tool Version 0.43.1-public @Copyright 2020 Alibaba Cloud Computing Co., Ltd. All rights reserved. Connecting to http://service.odps.aliyun.com/api, project: xxx Endpoint: http://service.odps.aliyun.com/api Project: xxx Schema: default Quota: default in region N/A Timezone: Asia/Shanghai Connected! xxx (default)>
(可選)掛載NAS
雲命令列為您掛載10 GB的臨時儲存空間,但會隨著虛擬機器的銷毀而被重設,您可以選擇掛載儲存空間來實現儲存,每次雲命令列啟動時,為您自動載入。掛載NAS的操作如下。
在MaxCompute Cloud CMD視窗,單擊
選擇掛載儲存空間,綁定NAS儲存空間。
掛載NAS會產生對應的NAS儲存費用,使用完成後,可及時解除綁定儲存空間。關於NAS儲存費用詳情,請參見計費概述。
使用雲命令列(odpscmd)
MaxCompute的雲命令列(odpscmd)支援所有本地用戶端可執行檔SQL命令。本文通過運行SQL命令和資料轉送為例,展示雲命令列(odpscmd)的使用。
運行SQL命令
建立表result_table1,命令樣本如下。
CREATE TABLE IF NOT EXISTS result_table1 (
education STRING comment '教育程度',
num BIGINT comment '人數');
建立完成後您可以查看已建立的表,命令樣本如下。
SHOW TABLES;
資料轉送
-
檔案上傳
-
單擊
,選擇上传,將本地檔案上傳,本文以result.txt檔案為例。上傳完成後,
Ctrl+c退出雲命令列(odpscmd)環境,執行ll查看是否上傳成功和檔案路徑。shell@Alicloud:~$ ll total 24 drwxr-xr-x 3 shell shell 4096 Jul 19 08:21 ./ drwxr-xr-x 1 root root 4096 Jul 19 08:00 ../ -rw------- 1 shell shell 292 Jul 19 08:22 .bash_history drwx------ 3 shell shell 4096 Jul 19 08:00 .config/ -rw-r--r-- 1 shell shell 325 Jul 19 08:15 .odpscmd.history -rw-r--r-- 1 shell shell 30 Jul 19 08:21 result.txt -rw-r--r-- 1 shell shell 0 Jul 19 08:09 whoami shell@Alicloud:~$確認完成後,返回雲命令列(odpscmd)環境,命令如下。
cloudshell-odpscmd -p <project.name> -
將上傳的檔案
result.txt上傳至MaxCompute,命令樣本如下。tunnel upload result.txt result_table1;
-
-
檔案下載
-
將MaxCompute的表
result_table1下載至雲命令列(odpscmd),命令樣本如下。Tunnel download result_table1 result_table1.txt; -
單擊
,選擇下载將result_table1.txt檔案下載至本地。
-