リソースはMaxComputeに固有の概念です。 ユーザー定義関数 (UDF) またはMapReduceを使用してジョブを実行するには、MaxComputeリソースとしてファイルをアップロードする必要があります。 このトピックでは、リソースの追加、表示、ダウンロード、削除など、リソースに対する一般的な操作について説明します。
次の表に、一般的なリソース操作を示します。
API 操作 | 説明 | Performed by | 操作プラットフォーム |
MaxComputeプロジェクトにリソースを追加します。 | リソースに対する書き込み権限を持つユーザー。 | このトピックで説明するコマンドは、次のプラットフォームで実行できます。 | |
リソースの詳細情報を表示します。 | リソースに対する読み取り権限を持つユーザー。 | ||
プロジェクト内のリソースの情報を表示します。 | プロジェクト内のオブジェクトに対するList権限を持つユーザー | ||
リソースのエイリアスを作成します。 | リソースに対する書き込み権限を持つユーザー。 | ||
MaxComputeプロジェクトのリソースをオンプレミスマシンにダウンロードします。 | リソースに対する書き込み権限を持つユーザー。 | ||
MaxComputeプロジェクトから既存のリソースを削除します。 | リソースに対する削除権限を持つユーザー。 |
リソースの追加
MaxComputeプロジェクトにリソースを追加します。
制限事項
MaxComputeでは、外部テーブルをリソースとして追加することはできません。
リソースファイルの最大サイズは2048 MBです。 単一のSQLまたはMapReduceジョブによって参照されるリソースのサイズは、2,048 MBを超えることはできません。
構文
add file <local_file> [as <alias>] [comment '<comment>'][-f]; add archive <local_file> [as <alias>] [comment '<comment>'][-f]; add table <table_name> [partition (<spec>)] [as <alias>] [comment '<comment>'][-f]; add py|jar <localfile> [comment '<comment>'][-f];
パラメーター
file | archive | table | py | jar: 必須です。 リソースのタイプを示します。 リソースタイプの詳細については、「リソース」をご参照ください。
local_file: 必須です。 追加するファイルのパス。 ファイル名は、リソースを一意に識別するリソース名として使用されます。
table_name: 必須です。 MaxComputeのテーブルの名前。
spec: 必須です。 追加するリソースがパーティションテーブルの場合、MaxComputeはテーブル全体をリソースとして使用するのではなく、テーブル内のパーティションのみをリソースとして使用します。
alias: オプション。 リソースの名前です。 このパラメーターを指定しない場合、ファイル名がリソース名として使用されます。 リソースとして使用されるJARパッケージまたはPythonスクリプトファイルは、このパラメーターをサポートしていません。
comment: オプション。 リソースのコメント。
-f: オプション。 重複するリソース名が存在する場合、既存のリソースが置き換えられます。 このオプションを指定せず、重複するリソース名が存在する場合、リソースの追加に失敗します。
例
例1: ファイルをリソースとしてMaxComputeプロジェクトに追加します。
add file banking.txt;
次の応答が返されます。
OK: Resource 'banking.txt' have been created.
例2: エイリアスがsale.resであるパーティションテーブルをリソースとしてMaxComputeに追加します。
add table sale_detail partition (ds='20150602') as sale.res comment 'sale detail on 20150602' -f;
次の応答が返されます。
OK: Resource 'sale.res' have been updated.
例3: PythonファイルをリソースとしてMaxComputeに追加します。
add py python.py [comment '<comment>'][-f];
次の応答が返されます。
OK: Resource 'python.py' have been created.
リソース情報の表示
プロジェクト内の指定されたリソースの情報を表示します。 情報には、リソースファイルのリソース名、所有者、リソースタイプ、リソースサイズ、作成時刻、最終変更時刻、およびMD5値が含まれます。
構文
desc resource <resource_name>;
パラメーター
resource_name: 必須です。 既存のリソースの名前。
戻り値
name: リソースの名前。
Owner: リソースを所有するアカウント。
Type: リソースのタイプ。
Comment: リソースのコメント。
CreatedTime: リソースが作成された時刻。
LastModifiedTime: リソースが最後に更新された時刻。
LastUpdator: 最後の更新操作を実行したアカウント。
Size: リソースファイルのサイズ。 単位:MB。
Md5sum: リソースファイルのMD5値。
説明MaxComputeリソースの名前は大文字と小文字を区別しません。 resource_Aとresource_aは同じリソースを表します。
例
-- View information of resource topn_new.jar. desc resource topn_new.jar;
次の応答が返されます。
Name topn_new.jar Owner ALIYUN$****@test.aliyunid.com Type JAR Comment cloudopenapi CreatedTime 2020-12-29 13:55:11 LastModifiedTime 2020-12-29 13:55:11 LastUpdator Size 11438795 Md5sum 8bcf6aabf****56c0
リソースリストの表示
プロジェクト内のリソースの情報を表示します。 情報には、リソース名、所有者、作成時刻、最終変更時刻、およびリソースタイプが含まれます。
構文
list resources;
例
list resources;
次の応答が返されます。
Resource Name Owner Creation Time Last Modified Time Type Last Updator Resource Size Source comment getaddr.jar ALIYUN$**** 2020-06-18 15:47:28 2020-06-18 15:47:28 jar 1353716 cloudopenapi ip.dat ALIYUN$**** 2020-06-18 15:49:46 2020-06-18 15:49:46 file 8525962 cloudopenapi 2 resources
リソースのエイリアスを作成する
リソースのエイリアスを作成します。 aliasコマンドは、MapReduceまたはUDFコードで使用して、指定されたリソース名に基づいて異なるリソースを読み取ることができます。 このプロセス中に、コードを変更する必要はありません。
構文
alias <alias>=<real>;
パラメーター
alias: リソースのエイリアス。
real: リソースの名前。
例
-- Add resources res_20121208 and res_20121209. add table sale_detail partition (ds='20121208') as res_20121208; add table sale_detail partition (ds='20121209') as res_20121209; -- Set the alias of the resource res_20121208 to resName and call this resource. alias resName=res_20121208; jar -resources resName -libjars work.jar -classpath ./work.jar com.company.MainClass args ...; -- Set the alias of the resource res_20121209 to resName and call this resource. alias resName=res_20121209; jar -resources resName -libjars work.jar -classpath ./work.jar com.company.MainClass args ...;
この例では、resName
エイリアスは2つのジョブの異なるリソーステーブルを参照します。 コードを変更することなく、データの異なるコピーを読み取ることができます。
リソースのダウンロード
MaxComputeプロジェクトのリソースをオンプレミスマシンにダウンロードします。 リソースタイプは、FILE、JAR、ARCHIVE、またはPYでなければなりません。 TABLEタイプはサポートされていません。
構文
get resource <resource_name> <path>;
パラメーター
resource_name: 必須です。 ダウンロードするリソースの名前。
path: 必須です。 リソースがオンプレミスマシンに保存されるパス。
例
get resource getaddr.jar D:\;
リソースの削除
MaxComputeプロジェクトから既存のリソースを削除します。
構文
drop resource <resource_name>;
パラメーター
resource_name: 削除するリソースの名前。
例
drop resource getaddr.jar;
次の応答が返されます。
Confirm to "drop resource getaddr.jar" (yes/no)? y OK