コードや関数で MaxCompute リソースを使用するには、まず対象のワークスペースにリソースを作成またはアップロードする必要があります。リソースがアップロードされると、そのワークスペース内のタスクでリソースを使用できます。リソースは、MaxCompute SQL コマンドを使用するか、DataWorks コンソールで作成・アップロードできます。このトピックでは、DataWorks コンソールでリソースを作成し、ノードで使用し、これらのリソースに基づいて関数を登録する方法について説明します。
機能概要
MaxCompute のリソースを使用すると、ユーザー定義関数 (UDF) や MapReduce を利用できます。DataWorks は、ローカルマシンや Object Storage Service (OSS) のファイルからリソースパッケージをアップロードするための GUI を提供します。また、DataWorks で直接リソースを作成することも可能です。UDF と MapReduce ジョブは、実行中にこれらのリソースを読み込んで使用できます。DataWorks は、以下のリソースタイプをサポートしています:
リソースタイプ | 説明 | サポートされる作成方法 |
Python | 作成した Python コードを格納します。このコードを使用して Python UDF を登録できます。ファイル名拡張子は .py である必要があります。 | GUI での作成 |
JAR | Java プログラムを実行するために使用される、コンパイル済みの Java JAR パッケージです。ファイル名拡張子は .jar である必要があります。 |
|
アーカイブ | リソースとしてアップロードできるのは、.zip、.tgz、.tar.gz、.tar などの圧縮ファイルのみです。圧縮タイプはファイル名拡張子によって識別されます。 |
|
ファイル | ファイルリソースとしてアップロードできるのは、.zip、.so、.jar タイプのファイルのみです。 |
|
リソースの管理および関連操作の詳細については、「リソースの管理」、「コマンドを使用したリソース管理」、および「DataWorks へのリソース追加と管理」をご参照ください。
制限事項
リソースサイズ
オンライン編集:Python リソースは最大 10 MB、ファイルリソースは最大 500 KB です。
ローカルファイルのアップロード:最大 500 MB のリソースをアップロードできます。
OSS ファイルのアップロード:最大 500 MB のリソースをアップロードできます。
リソースのデプロイ
標準モードのワークスペースを使用する場合、リソースを有効にするには、本番環境にデプロイする必要があります。
説明開発環境と本番環境では、コンピュートエンジンの情報が異なります。環境内のテーブルやリソースをクエリする前に、その環境のコンピュートエンジン情報を確認してください。異なる環境の MaxCompute コンピュートエンジンを表示する方法の詳細については、「DataStudio (旧バージョン):MaxCompute コンピュートエンジンのバインド」をご参照ください。
リソース管理
DataWorks では、DataWorks コンソールでアップロードされたリソースのみを表示および管理できます。MaxCompute Studio などの他のツールを使用して MaxCompute にリソースを追加した場合、DataWorks の [MaxCompute リソース] 機能を使用して手動でリソースをロードする必要があります。リソースがロードされると、DataWorks で表示および管理できるようになります。詳細については、「MaxCompute リソース管理」をご参照ください。
課金
DataWorks でのリソースの作成とアップロードは無料です。ただし、MaxCompute でのリソースの保存には料金が発生します。詳細については、「ストレージ料金」をご参照ください。
事前準備
MaxCompute コンピュートエンジンがバインドされていること。このコンピュートエンジンを使用して開発操作を実行できます。
(任意) OSS ファイルをアップロードしてリソースを作成するには、次の前提条件を満たしてください:
OSS を有効化し、バケットを作成します。その後、必要なファイルを OSS バケットにアップロードします。OSS からリソースをアップロードする際は、特定のバケットからファイルを選択する必要があります。詳細については、「バケットの作成」および「ファイルのアップロード」をご参照ください。
ファイルをアップロードする Alibaba Cloud アカウントに、対象バケットへのアクセスに必要な権限を付与します。権限関連の問題を防ぐため、ファイルをアップロードする前にアカウントに権限を付与してください。詳細については、「権限とアクセス制御の概要」をご参照ください。
リソース作成のエントリポイントへの移動
DataStudio ページに移動します。
DataWorks コンソールにログインします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションウィンドウで、 を選択します。表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[DataStudio へ移動] をクリックします。
[データ開発] ページで、対象のワークフローを右クリックし、[新規リソース] を選択し、[MaxCompute] ディレクトリでリソースタイプを選択します。
説明利用可能なワークフローがない場合は、作成してください。詳細については、「ワークフローの作成」をご参照ください。
ステップ 1:リソースの作成またはアップロード
DataWorks では、ローカルマシンで開発された、または OSS に保存されているリソースパッケージをアップロードできます。たとえば、ローカルマシンで開発された UDF をアップロードするには、関数を登録する前に DataWorks にパッケージ化してアップロードする必要があります。また、Python リソースや 500 KB 以下のファイルリソースなど、一部のリソースタイプは DataWorks で直接作成することもできます。
DataWorks の GUI で作成またはアップロードされたリソース:
リソースが MaxCompute (ODPS) クライアントを使用してアップロードされていない場合は、[ODPS リソースとしてアップロード] を選択します。リソースがすでに MaxCompute (ODPS) クライアントを使用してアップロードされている場合は、[ODPS リソースとしてアップロード] の選択を解除してください。そうしないと、アップロードに失敗します。
アップロード中に [ODPS リソースとしてアップロード] を選択すると、リソースは DataWorks と MaxCompute の両方に保存されます。後でコマンドを使用して MaxCompute からリソースを削除しても、DataWorks 内のリソースは存在し続け、正常に表示されます。
リソース名は、アップロードされたファイルの名前と一致する必要はありません。
方法 1:DataWorks コンソールでのリソース作成
次の図は、DataWorks コンソールでリソースを作成するための構成を示しています。必要に応じて、さまざまなリソースタイプのパラメーターを設定します。
10 MB を超える Python リソース、または 500 KB を超えるファイルリソースの場合は、方法 2:ローカルリソースのアップロード または 方法 3:OSS リソースのアップロード を使用して作成してください。
DataWorks コンソールで Python リソースを作成し、関数を登録する例については、「MaxCompute UDF を使用した IP アドレスソースの分析」をご参照ください。

方法 2:ローカルリソースのアップロード
次の図は、ローカルリソースをアップロードするための構成を示しています。必要に応じて、さまざまなリソースタイプのパラメーターを設定します。

方法 3:OSS リソースのアップロード
次の図は、OSS リソースをアップロードするための構成を示しています。必要に応じて、さまざまなリソースタイプのパラメーターを設定します。
この方法では、最大 500 MB のリソースをアップロードできます。
ファイルをアップロードする Alibaba Cloud アカウントに [AliyunDataWorksAccessingOSSRole] ポリシーを付与します。画面の指示に従って、ワンクリックで権限を付与できます。

ステップ 2:リソースのコミットとデプロイ
リソースを作成した後、リソース設定ページのツールバーにある
アイコンをクリックして、リソースを開発環境にコミットします。
本番タスクがこのリソースを使用する場合、リソースを本番環境にもデプロイする必要があります。詳細については、「タスクの公開」をご参照ください。
ステップ 3:リソースの使用
シナリオ 1:ノードでのリソース使用
DataWorks リソースを作成した後、ノードでそれを参照する必要があります。ノードがリソースを正常に参照すると、@resource_reference{"リソース名"} 形式のコードが表示されます。表示形式はノードタイプによって異なります。たとえば、PyODPS 2 ノードでは、コードは ##@resource_reference{"リソース名"} と表示されます。
次の図は、リソースを参照する方法を示しています。
シナリオ 2:リソースを使用した関数の登録
リソースを使用して関数を登録する前に、まず関数を作成する必要があります。詳細については、「ユーザー定義関数の作成と使用」をご参照ください。関数設定ページで、作成したリソースの名前を入力します (次の図を参照)。
リソースを使用して関数を登録する前に、リソースがコミットされていることを確認してください。リソースのコミット方法の詳細については、「ステップ 2:リソースのコミットとデプロイ」をご参照ください。

MaxCompute のビルトイン関数を表示するには、「ビルトイン関数の使用」をご参照ください。
MaxCompute コンピュートエンジン内の既存の関数を表示したり、関数の変更履歴を確認したり、関連操作を実行したりするには、「MaxCompute 関数管理」をご参照ください。
リソースの管理
ワークフロー配下のリソースディレクトリで、対象のリソースを右クリックして管理操作を実行します:
履歴の表示:保存またはコミットされたリソースのバージョンを表示および比較して、異なるバージョン間の変更点を確認します。
説明バージョンを比較する際は、少なくとも 2 つのバージョンを選択する必要があります。
リソースの削除:この操作では、開発環境の対応するプロジェクトからのみリソースが削除されます。本番環境からリソースを削除するには、タスクを公開する必要があります。この操作により、削除操作が本番環境に公開されます。タスクが公開されると、リソースは本番環境から削除されます。詳細については、「タスクの公開」をご参照ください。
付録 1:コマンドを使用したリソース管理
次の表に、リソース操作の一般的なコマンドを示します。
操作タイプ | 機能 | ロール | 操作プラットフォーム |
MaxCompute プロジェクトにリソースを追加します。 | リソースに対する書き込み権限を持つユーザー。 | このトピックのコマンドは、次のプラットフォームで実行できます: | |
リソースの詳細情報を表示します。 | リソースに対する読み取り権限を持つユーザー。 | ||
現在のプロジェクトのすべてのリソースを表示します。 | プロジェクト内のオブジェクトに対するリスト権限を持つユーザー。 | ||
リソースのエイリアスを作成します。 | リソースに対する書き込み権限を持つユーザー。 | ||
MaxCompute プロジェクトからローカルマシンにリソースをダウンロードします。 | リソースに対する書き込み権限を持つユーザー。 | ||
MaxCompute プロジェクトから既存のリソースを削除します。 | リソースに対する削除権限を持つユーザー。 |
DataWorks でリソースを表示する際、プロジェクト名を指定しない場合、デフォルトで現在のプロジェクトのリソースが表示されます。詳細は次のとおりです:
現在のプロジェクトのすべてのリソースを表示します。DataStudio でこのコマンドを実行すると、デフォルトで開発環境にバインドされている MaxCompute コンピュートエンジンにアクセスします。
list resources;特定のプロジェクトのすべてのリソースを表示します。
use MaxCompute_project_name; list resources;
コマンド操作の詳細については、「リソース操作」をご参照ください。
付録 2:DataWorks へのリソース追加と管理
MaxCompute リソース機能を使用すると、最大 500 MB の MaxCompute リソースを DataWorks にロードして、GUI で管理できます。詳細については、「MaxCompute リソース管理」をご参照ください。