MaxCompute は Cloud Shell と統合されており、クラウドベースのクライアント環境を提供します。これにより、手動でインストールすることなく odpscmd を使用できます。このトピックでは、Cloud Shell で odpscmd を使用する際の注意点と例について説明します。
前提条件
RAM ユーザーとして Cloud Shell で odpscmd にログインする場合、その RAM ユーザーには AliyunCloudShellFullAccess 権限が必要です。詳細については、「Resource Access Management (RAM)」をご参照ください。
制限事項
Cloud Shell は、Alibaba Cloud が提供するウェブベースのコマンドラインツールです。MaxCompute は Cloud Shell をベースにしたクラウドベースのクライアント環境を提供しており、手動でインストールすることなく odpscmd を使用できます。Cloud Shell の詳細については、「Cloud Shell とは」をご参照ください。
-
Cloud Shell の制限事項
制限
説明
仮想マシン
一度に実行できる仮想マシンは 1 つだけです。すべてのセッションウィンドウが、その仮想マシンに自動的に接続します。
セッションウィンドウ
最大 5 つのセッションウィンドウを開くことができます。
無操作タイムアウト
30 分間操作がない場合、またはすべてのセッションウィンドウが閉じた場合、セッションは停止します。その 15 分後に仮想マシンは破棄されます。Cloud Shell を再起動すると、新しい仮想マシンが作成されます。
有効期限
各仮想マシンの有効期間は 1 時間です。有効期限が切れると、Cloud Shell は仮想マシンを直ちに破棄します。Cloud Shell を再起動すると、新しい仮想マシンが作成されます。
ファイルストレージ
Cloud Shell は、
/home/shellフォルダー内に 10 GB の一時ストレージを提供します。この領域は、仮想マシンが破棄されるとリセットされます。永続ストレージを利用するには、バケットをマウントします。バケットは、Cloud Shell の起動時に毎回自動的に読み込まれます。禁止事項
コンピューティング集約型、ネットワーク集約型、長時間実行タスク、および悪意のあるプロセスは禁止されています。違反した場合、通知なくセッションが停止または無効にされることがあります。
-
リージョンの制限事項
現在、Cloud Shell を使用して MaxCompute に接続できるのは、中国 (Hangzhou)、中国 (Shanghai)、中国 (Beijing)、および中国 (Shenzhen) のリージョンのみです。
注意事項
MaxCompute の odpscmd をどのリージョンで起動したかにかかわらず、Cloud Shell サービスとその一時ストレージは、デフォルトで中国 (Shanghai) リージョンに配置されます。プロジェクトが別のリージョンにある場合、この機能を使用するとリージョン間データ転送が発生し、データセキュリティリスクが生じる可能性があります。注意してご使用ください。
odpscmd 環境への切り替え
-
MaxCompute コンソールにログインし、左上隅でリージョンを選択します。
-
ページで、右上隅にある コマンドライン をクリックします。
-
プロジェクト選択 ダイアログボックスで、管理するプロジェクトを選択し、決定 をクリックします。
説明NAS ファイルシステムのマウントに関するプロンプトが表示された場合は、必要に応じてマウントできます。詳細については、「(任意) NAS のマウント」をご参照ください。
Cloud Shell に 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 のマウント
Cloud Shell は、仮想マシンが破棄されるとリセットされる、10 GB の一時ストレージを提供します。永続ストレージが必要な場合は、NAS ファイルシステムをマウントできます。NAS ファイルシステムは、セッションを開始するたびに Cloud Shell によって自動的にロードされます。NAS ファイルシステムをマウントする方法を次に示します。
[MaxCompute Cloud CMD] ウィンドウで、
アイコンをクリックし、[Mount Storage Space] を選択して NAS ファイルシステムをバインドします。
NAS ファイルシステムをマウントすると、NAS のストレージ料金が発生します。不要になったストレージ領域はバインド解除してください。NAS のストレージ料金の詳細については、「課金概要」をご参照ください。
Cloud Shell での odpscmd の使用
Cloud Shell での 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を押して Cloud Shell (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を Cloud Shell (odpscmd) にダウンロードする例です。Tunnel download result_table1 result_table1.txt; -
アイコンをクリックし、ダウンロード を選択して result_table1.txtファイルをローカルコンピューターに保存します。
-