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

MaxCompute:UDF の開発

最終更新日:Jun 23, 2026

MaxCompute が提供するビルトイン関数がビジネス要件を満たせない場合、MaxCompute Studio でユーザー定義関数 (UDF) を開発してビジネス機能を実装できます。 このトピックでは、MaxCompute Studio を使用して Java UDF を開発およびデバッグする方法について説明します。

前提条件

開始する前に、次の操作が完了していることを確認してください。

背景情報

このトピックの手順に従って UDF を開発することも、[MaxCompute] > [Create UDF] を選択して直接作成することもできます。

UDF の作成

  1. [プロジェクト] ペインで、モジュールのソースコードディレクトリ (つまり src > main > java) を右クリックし、[New] > [MaxCompute Java] を選択します。

  2. [Name] を入力し、タイプとして [UDF] を選択して、Enter キーを押します。

    [Create new MaxCompute java class] ダイアログボックスでは、UDAF、UDTF、Driver、mapper、reducer、StorageHandler、Extractor、Outputer などの他のクラスタイプも選択できます。

    Name:MaxCompute Java クラスの名前。 パッケージを作成するには、packagename.classname の形式で名前を入力します。 この操作により、パッケージが自動的に作成されます。

  3. MaxCompute Java クラスを作成した後、エディターで Java プログラムを開発します。

ローカル実行による UDF のデバッグ

ローカル実行を実行して UDF をテストし、結果が期待どおりか確認します。

  1. Java スクリプトを右クリックし、[Run] を選択します。

  2. [Run/Debug Configurations] ページで、実行パラメーターを設定します。

    この例では、[MaxCompute table]wc_in1 に、[Table columns]col1 に、[Download Record limit]100 に設定します。

    • [MaxCompute project]:UDF に使用する MaxCompute プロジェクトを指定します。 ローカル実行の場合は、[local] を選択します。

      説明
      • MaxCompute プロジェクトのテーブルデータを使用する場合は、エンドポイントを変更し、[MaxCompute project] フィールドでプロジェクト名を指定する必要があります。 MaxCompute プロジェクトのテーブルデータが warehouse ディレクトリにダウンロードされていない場合は、まずデータがダウンロードされます。 データがすでにダウンロードされている場合は、この手順をスキップします。

      • [MaxCompute project] のドロップダウンリストから [local] を選択した場合、MaxCompute のデータやリソースとローカルプロジェクトとのやり取りは不要です。 これにより、ローカル環境で UDF の開発、テスト、デバッグができます。

    • [MaxCompute table]:UDF が実行される MaxCompute テーブルの名前。

    • [Table columns]:UDF が実行される MaxCompute テーブルの列。

  3. [OK] をクリックして実行を開始します。

    説明
    • システムは、ローカル実行中の入力として warehouse 内の指定されたテーブルからデータを読み取ります。 コンソールでログ出力を表示できます。

単体テストによる UDF のデバッグ

examples ディレクトリにある単体テストの例に基づいて、テストケースを作成できます。

次のステップ

UDF の開発とデバッグが完了したら、UDF を MaxCompute で利用できるようにするために、UDF コードをパッケージ化、アップロード、登録する必要があります。 詳細については、「Java プログラムのパッケージ化、パッケージのアップロード、MaxCompute UDF の作成」をご参照ください。

関連ドキュメント

MaxCompute Studio で Python を使用して UDF を開発する方法の詳細については、「Python UDF の開発」をご参照ください。