すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:リソース操作

最終更新日:Jun 13, 2025

リソースは、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