リソースは、MaxCompute 固有の概念です。ユーザー定義関数 (UDF) または MapReduce を使用してジョブを実行するには、ファイルを MaxCompute リソースとしてアップロードする必要があります。このトピックでは、リソースの追加、表示、ダウンロード、削除など、リソースに対する一般的な操作について説明します。
次の表に、一般的なリソース操作を示します。
操作 | 説明 | 実行者 | 操作プラットフォーム |
MaxCompute プロジェクトにリソースを追加します。 | リソースに対する書き込み権限を持つユーザー。 | ||
リソースのエイリアスを作成します。 | リソースに対する書き込み権限を持つユーザー。 | ||
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 は同じリソースを表します。
例
-- リソース 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
リソースのエイリアスを作成する
リソースのエイリアスを作成します。エイリアスコマンドは、MapReduce または UDF コードで使用して、指定されたリソース名に基づいて異なるリソースを読み取ることができます。このプロセス中に、コードを変更する必要はありません。
構文
alias <alias>=<real>;パラメーター
alias: リソースのエイリアス。
real: リソースの名前。
例
-- リソース res_20121208 と res_20121209 を追加します。 add table sale_detail partition (ds='20121208') as res_20121208; add table sale_detail partition (ds='20121209') as res_20121209; -- リソース res_20121208 のエイリアスを resName に設定し、このリソースを呼び出します。 alias resName=res_20121208; jar -resources resName -libjars work.jar -classpath ./work.jar com.company.MainClass args ...; -- リソース res_20121209 のエイリアスを resName に設定し、このリソースを呼び出します。 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