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

DataWorks:MaxCompute のリソースと関数

最終更新日:Dec 04, 2025

DataStudio では、MaxCompute プロジェクトのリソースを管理できます。ローカルファイルまたは Object Storage Service (OSS) ファイルからリソースを作成し、データ開発ノードで使用する関数として登録できます。このトピックでは、Resource Management でさまざまな種類の MaxCompute リソースと関数を作成する方法について説明します。

前提条件

  • MaxCompute 計算リソースがアタッチされていること

  • リソースファイルが開発済みであること。ファイルはローカルマシンからアップロードするか、Object Storage Service (OSS) から取得できます。OSS からファイルをアップロードしてリソースを作成する場合は、次の条件を満たす必要があります。

    • OSS が有効化され、バケットが作成され、アップロードしたいリソースファイルが OSS バケットに保存されていること。詳細については、「バケットの作成」および「簡易アップロード」をご参照ください。

      説明

      サポートされているリソースファイルの詳細については、「リソースの説明」をご参照ください。

    • ファイルのアップロードに使用する Alibaba Cloud アカウントに、ターゲットバケットへのアクセス権限が付与されていること。権限の問題を回避するため、ファイルをアップロードする前に、関連アカウントに権限を付与してください。

Resource Management への移動

  1. DataWorks コンソールの ワークスペースページに移動します。上部のナビゲーションバーで、目的のリージョンを選択します。目的のワークスペースを見つけ、[操作] 列の [ショートカット] > [Data Studio] を選択します。

  2. 左側のナビゲーションウィンドウで、Resource Management アイコン image をクリックして、[Resource Management] ページに移動します。

  3. [Resource Management] ページで、image アイコンをクリックして新しいリソースまたは関数を作成します。または、まず [新しいフォルダー] をクリックしてリソースを整理することもできます。次に、ターゲットフォルダーを右クリックし、[新規作成] を選択して、作成するリソースまたは関数のタイプを選択します。

リソースの作成と管理

リソースの説明

MaxCompute のリソースは、ユーザー定義関数 (UDF)MapReduce 機能を実装するための基盤です。DataStudio では、可視化インターフェイスを使用して、ローカルマシンまたは OSS に保存されているリソースをアップロードできます。これらのリソースは、UDF と MapReduce の実行中に読み取って使用できます。以下の MaxCompute リソースタイプがサポートされています。

重要

DataWorks を使用して MaxCompute にリソースをアップロードすると、MaxCompute のストレージ料金が発生します。

リソースタイプ

説明

Python

Python UDF の登録に使用される Python コードを格納します。ファイル名拡張子は .py です。

[JAR]

Java プログラムの実行に使用される、コンパイル済みの Java JAR パッケージです。ファイル名拡張子は .jar です。

[アーカイブ]

.zip.tgz.tar.gz.tar.jar などの圧縮ファイルのみをリソースとしてアップロードできます。圧縮タイプは、リソースのファイル名拡張子によって区別されます。

ファイル

File タイプのリソースを作成する場合、任意のファイルをアップロードできます。実際の使用方法は、各エンジンのサポート状況に依存します。

制限事項

リソースをアップロードする際は、以下の制限事項にご注意ください。

  • リソースサイズ

    • オンライン編集:Python リソースは最大 10 MB、ファイルリソースは最大 500 KB です。

    • ローカルマシンからのアップロード:最大 500 MB のリソースをアップロードできます。

    • OSS からのアップロード:最大 500 MB のリソースをアップロードできます。

  • リソースの公開標準モードのワークスペースを使用する場合、リソースを有効にするには本番環境に公開する必要があります。

    説明

    データソース情報は、開発環境と本番環境で異なる場合があります。ある環境でテーブルやリソースをクエリする前に、その環境のデータソース情報を確認してください。

  • リソース管理:DataWorks では、DataWorks インターフェイスを使用してアップロードしたリソースのみを表示および管理できます。

リソースの作成

MaxCompute リソースは、ローカルマシンまたは OSS からアップロードできます。作成したリソースは、データ開発で直接参照したり、それらから関数を作成したりできます。

  1. Resource Management ページで、表示される [リソースと関数の作成] ダイアログボックスで、リソースの [タイプ][パス][名前] を設定します。

  2. ソースとしてローカルファイルまたは OSS ファイルをアップロードします。次の表に、リソースのアップロードに関する主要なパラメーターを示します。

    設定項目

    設定内容

    ファイルソース

    オブジェクトファイルのソース。サポートされているソースは [ローカル][OSS] です。

    ファイルコンテンツ

    • [ローカル] を選択した場合、[ファイルのアップロード][クリックしてアップロード] をクリックしてローカルファイルをアップロードします。

    • [OSS] を選択した場合、[ファイルの選択] ドロップダウンリストから対応する OSS ファイルを選択します。

    データソース

    アップロードされた MaxCompute リソースが属するデータソースを選択します。

  3. 上部のツールバーで [保存] をクリックし、次に [公開] をクリックしてリソースを公開します。公開済みのリソースのみがデータ開発で使用できます。

リソースの使用

リソースを作成した後、データ開発ノードでそれを参照できます。これを行うには、左側のナビゲーションウィンドウで [Resource Management] をクリックし、ターゲットリソースを見つけて右クリックし、[リソースの参照] を選択します。リソースが正常に参照されると、##@resource_reference{"リソース名"} 形式のコードがノードに追加されます。

説明

たとえば、PyODPS 3 ノードでは、コードは ##@resource_reference{"example.py"} のように表示されます。表示形式はノードタイプによって異なります。

または、リソースから関数を作成し、開発者ノードで使用することもできます。

リソースの管理

DataWorks では、可視化インターフェイスを使用してアップロードしたリソースのみを表示および管理できます。Resource Management ページでリソースをクリックすると、管理操作を実行できます。

  • 履歴バージョンの表示:公開されたリソースバージョンを表示および比較して、それらの間の変更点を確認します。

    説明

    バージョンを比較するには、少なくとも 2 つのバージョンを選択する必要があります。

  • リソースの削除:この操作により、開発環境からリソースが削除されます。本番環境からリソースを削除するには、この変更を公開する必要があります。公開タスクが成功すると、リソースは本番環境からも削除されます。詳細については、「タスクの公開」をご参照ください。

  • 他のリソースの表示

    MaxCompute には、DataWorks 以外の方法でアップロードされたリソースが含まれている場合があります。これらのリソースは、次の方法で表示できます。

    • データカタログを使用して、MaxCompute プロジェクト内のすべてのリソースを表示します。

      MaxCompute プロジェクトをデータカタログに追加した後、データカタログで対応する MaxCompute フォルダーを開き、リソースディレクトリの下にある現在のプロジェクトのすべてのリソースを表示できます。

    • MaxCompute SQL ノードを使用して、MaxCompute プロジェクト内の他のリソースを表示します。

      • 現在のプロジェクトのすべてのリソースを表示します。データ開発で MaxCompute SQL スクリプトを作成してこのコマンドを実行すると、システムはデフォルトで開発環境にアタッチされている MaxCompute 計算リソースにアクセスします。

        list resources;
      • 指定したプロジェクトのすべてのリソースを表示します。

        use MaxCompute_project_name;
        list resources;

      コマンド操作の詳細については、「リソース操作」をご参照ください。

関数の作成と管理

関数を作成する前に、リソースが作成されていることを確認してください。

説明

MaxCompute リソースファイルの準備については、「UDF 開発 (Java)」および「UDF 開発 (Python 3)」をご参照ください。

関数の説明

DataStudio では、Resource and Function Management でリソースを関数として登録できます。データ開発または SQL クエリでは、アップロードおよび公開されたリソースから関数を作成したり、JAVAPYTHON2、または PYTHON3 を使用して埋め込み関数を作成したり、直接 MaxCompute ビルトイン関数を使用したりすることもできます。

関数の作成

  1. Resource Management ページで、表示される [リソースと関数の新規作成] ダイアログボックスで、関数の [タイプ][パス][名前] を設定します。

  2. 関数リソースを作成し、その情報を設定します。

    MaxCompute 関数を設定する前に、MaxCompute プロジェクトが DataWorks の計算リソースとして登録され、MaxCompute リソースがアップロードされていることを確認してください。次の表に、MaxCompute 関数の主要なパラメーターを示します。

    パラメーター

    説明

    機能タイプ

    関数タイプを選択します。有効な値:[MATH] (算術演算関数)、[AGGREGATE] (集計関数)、[STRING] (文字列処理関数)、[DATE] (日付関数)、[ANALYTIC] (ウィンドウ関数)、[OTHER] (その他の関数)。

    クラス名

    UDF のクラス名。resource_name.class_name 形式です。リソース名は Java パッケージ名または Python リソース名にすることができます。

    DataWorks でユーザー定義関数を作成する場合、JAR および Python タイプの MaxCompute リソースを使用できます。クラス名は、リソースタイプごとに異なって設定されます。

    • リソースタイプが JAR の場合、[クラス名]packageName.ActualClassName 形式である必要があります。この値は、IntelliJ IDEA から Copy Reference 文を使用して取得できます。

      たとえば、com.aliyun.odps.examples.udf が Java パッケージ名で、UDAFExample が実際のクラス名の場合、[クラス名] パラメーターは com.aliyun.odps.examples.udf.UDAFExample に設定されます。

    • リソースタイプが Python の場合、[クラス名] の形式は PythonResourceName.ActualClassName です。

      たとえば、Python リソース名が LcLognormDist_sh で、実際のクラス名が LcLognormDist_sh の場合、[クラス名] パラメーターは LcLognormDist_sh.LcLognormDist_sh に設定されます。

    説明
    • リソース名を入力する際に、.jar または .py のサフィックスを追加しないでください。

    • リソースは、使用する前に送信して公開する必要があります。

    タイプ

    [リソース関数] または [埋め込み関数] を選択します。

    • [リソース関数] を選択した場合は、[リソースリスト] を設定するだけで済みます。

    • 埋め込み関数を選択した場合、[リソース] の選択に加えて、[言語] (JAVAPYTHON2、または PYTHON3) と [コード] も設定する必要があります。

    [リソースリスト]

    関数の登録に使用するリソースを選択します。

    • 可視化モード:DataWorks にアップロードまたは追加されたリソースのみを選択できます。

    • スクリプトモード:対応するデータソース内のすべてのリソースを入力できます。UDF が複数のリソースを呼び出す場合は、コンマ (,) で区切ります。

    説明
    • 追加されたリソースのパスを入力する必要はありません。

    • テーブルリソースなど、DataWorks が可視化機能によるアップロードをサポートしていないリソースや、他の方法で MaxCompute にアップロードされ、DataWorks の可視化で管理されていないリソースは、スクリプトモードで手動で入力できます。

    [コマンド形式]

    この UDF の使用方法の例。

  3. 上部のツールバーで [保存] をクリックし、次に [公開] をクリックして関数を公開します。公開済みの関数のみがデータ開発で使用できます。

関数の使用

ユーザー定義関数の使用

関数が作成され公開された後、データ開発または SQL クエリで直接参照できます。

  • データ開発ノードを編集する際、左側のナビゲーションウィンドウで [Resource Management] をクリックします。次に、ターゲットのリソースまたは関数を見つけて右クリックし、[関数の参照] を選択します。

    関数が正常に参照されると、ユーザー定義関数の名前がノード編集ページに自動的に挿入されます。例:example_function()

  • SQL クエリを編集する際、作成した関数を直接使用できます。

SELECT example_function(column_name) FROM table;

ビルトイン関数の使用

DataWorks は、ユーザー定義関数と MaxCompute ビルトイン関数の 2 種類の関数をサポートしています。ビルトイン関数をタイプ別に表示したり、アルファベット順に表示したりできます。

関数の管理

Resource Management ページで関数をクリックすると、管理操作を実行できます。

  • 履歴バージョンの表示:関数編集ページの右側にあるバージョンボタンをクリックします。保存または公開された関数バージョンを表示および比較して、それらの間の変更点を確認できます。

    説明

    バージョンを比較するには、少なくとも 2 つのバージョンを選択する必要があります。

  • 関数の削除:ターゲット関数を右クリックし、[削除] を選択します。

    本番環境から関数を削除するには、この変更を公開する必要があります。公開タスクが成功すると、関数は本番環境からも削除されます。詳細については、「タスクの公開」をご参照ください。

ユーザー定義関数リストの表示

// 現在の DataWorks ワークスペースにアタッチされている MaxCompute 計算リソースプロジェクト内の関数を表示します。
SHOW FUNCTIONS;

ユーザー定義関数の詳細の表示

  • DESCRIBE コマンドまたはその省略形 DESC の後に関数名を入力して、ユーザー定義関数の詳細を表示します。

    // 省略形を使用してユーザー定義関数の詳細を表示します
    DESC FUNCTION <function_name>;
  • DataWorks では、ビジネスワークフローで必要な処理ロジックが既存の関数で実装できない場合、MaxCompute ユーザー定義関数を作成できます。その後、JAR パッケージや Python ファイルなどの対応するリソースをアップロードして関連付けることで、データ処理能力を拡張できます。

よくある質問

Q:DataWorks を通じてリソースをアップロードし、それをユーザー定義関数 (UDF) として定義した後、データ分析の SQL クエリやデータ開発の ODPS SQL ノードで使用できますか?

A:はい、できます。DataWorks を通じて登録された UDF は MaxCompute プロジェクトに保存されるため、MaxCompute SQL ノードとデータ分析のSQL クエリ (レガシー)の両方で使用できます。