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

MaxCompute:リソース操作

最終更新日:Dec 10, 2024

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