コードまたは関数で MaxCompute リソースを使用する必要がある場合は、最初にリソースを作成またはアップロードする必要があります。MaxCompute SQL コマンドまたは DataWorks のビジュアルインターフェイスでリソースを作成またはアップロードし、その後、ノードで参照して関数を登録できます。
概要
MaxCompute のリソースを使用すると、ユーザー定義関数 (UDF) またはMapReduce ジョブを実行できます。DataWorks では、ローカルまたは OSS のリソースパッケージをアップロードするか、リソースを直接作成できます。サポートされているリソースタイプを次の表に示します。
リソースタイプ | 説明 | 作成方法 |
[Python] | Python UDF を登録するための Python コードです。拡張子: .py。 | オンラインエディターで作成 |
JAR | Java プログラムを実行するためのコンパイル済み Java Archive パッケージです。拡張子: .jar。 |
|
Archive | 圧縮ファイル: .zip、.tgz、.tar.gz、.tar 形式。拡張子で圧縮タイプを識別します。 |
|
File | .zip、.so、.jar ファイルをサポートします。 |
|
リソース管理:リソースの管理、コマンドを使用したリソースの管理、外部リソースを DataWorks に追加して管理。
制限事項
リソースサイズ
オンライン編集:Python リソースは最大 10 MB、ファイルリソースは最大 500 KB。
ローカルアップロード:最大 500 MB。
OSS アップロード:最大 500 MB。
リソースのデプロイ
標準モードのワークスペースでは、リソースを本番環境にデプロイしてから有効になります。
説明開発環境と本番環境では、異なるコンピュートエンジンを使用します。テーブルまたはリソースをクエリする前に、各環境のコンピュートエンジンを確認してください。Data Studio (レガシーバージョン):MaxCompute コンピュートエンジンの関連付け。
リソース管理
DataWorks に表示されるのは、ビジュアルインターフェイスからアップロードしたリソースのみです。その他のツール (MaxCompute Studio など) で追加したリソースは、[MaxCompute リソース] 機能を使用して手動でロードする必要があります。ロード後、DataWorks でリソースを表示および管理できます。MaxCompute リソースの管理。
課金
DataWorks は、リソースの作成またはアップロードには課金しません。MaxCompute は、リソースストレージに対して課金します。ストレージ料金。
前提条件
開発タスク用にMaxCompute コンピュートエンジンを関連付け済みであること。
(オプション) OSS からリソースをアップロードする場合:
OSS を有効化し、バケットを作成して、ファイルをアップロードしていること。OSS からアップロードする場合は、特定のバケットからファイルを選択する必要があります。バケットの作成およびオブジェクトのアップロードをご参照ください。
Alibaba Cloud アカウントに、対象バケットにアクセスするために必要な権限が付与されていること。権限エラーを回避するため、事前にアカウントに権限を付与してください。アクセス制御の概要。
リソース作成ページへの移動
DataStudioページに移動します。
DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、 を選択します。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[DataStudioに移動] をクリックします。
Data Studio ページで、対象のワークフローを右クリックしてリソースの作成を選択し、[MaxCompute] ディレクトリでリソースタイプを選択します。
説明ワークフローがない場合は、ワークフローを作成してください。
手順1:リソースの作成またはアップロード
ローカルまたは OSS のリソースパッケージを DataWorks にアップロードします。たとえば、ローカルで開発した UDF を関数として登録する前に、パッケージ化してアップロードします。Python リソースとファイルリソース (最大 500 KB) は、直接作成することもできます。
リソースを作成またはアップロードする際は、次の点に注意してください:
リソースが MaxCompute にアップロードされていない場合は、[Upload to MaxCompute] を選択します。リソースがすでに MaxCompute に存在する場合は、[Upload to MaxCompute] を選択解除します。解除しない場合、アップロードは失敗します。
[Upload to MaxCompute] を選択すると、リソースは DataWorks と MaxCompute の両方に保存されます。コマンドで MaxCompute から削除しても、DataWorks からは削除されません。
リソース名は、アップロードするファイル名と一致している必要はありません。
オンラインエディター
必要に応じてリソースを設定します。
Python リソースが 10 MB を超える場合、またはファイルリソースが 500 KB を超える場合は、方法2:ローカルリソースのアップロードまたは方法3:OSS リソースのアップロードを使用してください。
チュートリアルについては、MaxCompute UDF を使用してIPアドレスの発信元を分析をご参照ください。
[Python] リソースまたは[File] リソースを作成する場合は、次のフィールドを設定します:
[Engine type]:MaxCompute を選択します。
[Engine instance]:対象のエンジンインスタンスを選択します。
[Path]:リソースを保存するビジネスフローのパスを選択します。
[Upload to MaxCompute]:選択すると、リソースが MaxCompute に同期アップロードされます。
[Name]:リソース名を入力します。Python リソースの場合、ファイル名には
.py拡張子を含める必要があります。
[File] リソースの場合は、[File source] も設定する必要があります。[Local]、[OSS (one-click authorization)]、または[Online editor] を指定できます。
ローカルリソース
必要に応じてリソースを設定します。
[Create resource] ダイアログボックスで、リソースタイプ ([JAR]、[Archive]、または[File]) に応じて次のフィールドを設定します:
[Engine type]:MaxCompute を選択します。
[Engine instance]:対象のエンジンインスタンスを選択します。
[Resource type]:[JAR]、[Archive]、または[File] を選択します。
[Path]:リソースの保存パスを選択します。
[Upload to MaxCompute]:選択すると、リソースが MaxCompute に同期アップロードされます。
[File source]:[Local] または[OSS (one-click authorization)] を選択します。[File] タイプは[Online editor] もサポートします。
[Upload file]:[Click to upload] をクリックしてローカルファイルをアップロードします。
[Name]:リソース名を入力します。JAR タイプでは
.jar拡張子が必要です。Archive タイプでは.zip、.tgz、.tar.gz、または.tar拡張子が必要です。
OSS リソース
必要に応じてリソースを設定します。
この方法を使用すると、最大 500 MB のリソースをアップロードできます。
アップロードに使用する Alibaba Cloud アカウントには、AliyunDataWorksAccessingOSSRole ポリシーを付与する必要があります。画面の指示に従って、ワンクリックで権限を付与してください。
手順2:送信とデプロイ
リソースを作成したら、ツールバーの
アイコンをクリックして、開発環境のスケジューリングサーバーに送信します。
このリソースを本番環境で使用するには、本番環境にデプロイしてください。タスクのデプロイ。
手順3:リソースの使用
ノードでの使用
該当するノードでリソースを参照します。参照に成功すると、ノード設定に@resource_reference{"Resource Name"}のような行が追加されます。形式はノードタイプによって異なります。たとえば、PyODPS 2 ノードでは##@resource_reference{"Resource Name"}を使用します。
ノードがない場合は、コンピュートノードを作成してください。
PyODPS コードがサードパーティパッケージに依存している場合は、カスタムイメージを使用してランタイム環境にインストールします。カスタムイメージ。
リソースの参照例は次のとおりです。
DataWorks の Data Studio インターフェイスで、次の手順に従ってリソースを参照します:
対象の PyODPS ノードをダブルクリックして開きます。
左側の[Resource] ディレクトリで、対象のリソースファイル (例:
pyodps_packagetest.py) を右クリックし、コンテキストメニューから[Reference resource] を選択します。コードエディターの先頭に
##@resource_reference{"pyodps_packagetest.py"}が自動生成され、参照に成功したことを示します。その後、importを使用してリソースのメソッドを呼び出せます。
関数の登録
関数を登録するには、まずカスタム関数の作成と使用を行います。関数設定ページでリソース名を入力します。
関数を登録する前に、リソースを送信する必要があります。手順2:送信とデプロイ。
[Register function] フォームで、[Resource list] フィールドにアップロードしたリソースの名前 (例:xc_ip2region.jar) を設定し、[Class name] (例:org.alidata.odps.udf.Ip2Region) と[Command format] (例:getregion('ip')) フィールドを設定します。
MaxCompute の組み込み関数:組み込み関数の使用。
コンピュートエンジン内の関数を表示する、関数履歴を管理する、その他の管理操作を行うには、MaxCompute 関数の管理をご参照ください。
リソースの管理
ワークフローのリソースディレクトリで対象リソースを右クリックし、管理操作を実行します:
[View History]:保存済みまたは送信済みバージョンを表示して比較し、変更を追跡します。
説明バージョンを比較するには、少なくとも2つのバージョンを選択する必要があります。
[Delete]:開発環境からのみリソースを削除します。この変更をデプロイすると本番環境でも削除されます。デプロイが成功すると、本番環境からリソースが削除されます。タスクのデプロイ。
付録1:コマンドによるリソース管理
リソース操作でよく使用されるコマンドを次の表に示します。
操作 | 説明 | ロール | プラットフォーム |
MaxCompute プロジェクトにリソースを追加します。 | リソースに対して | 次のプラットフォームでこれらのコマンドを実行できます: | |
リソースの詳細を表示します。 | リソースに対して | ||
現在のプロジェクト内のすべてのリソースを一覧表示します。 | プロジェクトに対して | ||
リソースのエイリアスを作成します。 | リソースに対して | ||
MaxCompute プロジェクトからローカルマシンにリソースをダウンロードします。 | リソースに対して | ||
MaxCompute プロジェクトから既存のリソースを削除します。 | リソースに対して |
プロジェクト名を指定しない場合、コマンドは現在のプロジェクトに対して実行されます。例:
現在のプロジェクト内のすべてのリソースを表示します。Data Studio では、デフォルトで開発環境のコンピュートエンジンにクエリを実行します。
list resources;特定のプロジェクト内のリソースを表示します:
use <MaxCompute_project_name>; list resources;
コマンドの完全なリファレンス:リソース操作。
付録2:DataWorks への外部リソースの追加
MaxCompute Resource 機能を使用して、MaxCompute リソース (最大 500 MB) を DataWorks にロードし、視覚的に管理できます。MaxCompute リソースの管理。