MaxCompute のビルトイン関数がビジネスロジックをカバーしていない場合は、MaxCompute Studio を使用して Java でユーザー定義関数 (UDF) を作成します。このトピックでは、Java UDF クラスの作成、ローカルでの実行、単体テストによる検証について説明します。
前提条件
開始する前に、以下が完了していることを確認してください:
MaxCompute Studio で MaxCompute プロジェクトへの接続が設定されていること。詳細については、「プロジェクト接続の管理」をご参照ください。
MaxCompute Java モジュールが作成されていること。詳細については、「MaxCompute Java モジュールの作成」をご参照ください。
UDF の作成
[プロジェクト] タブのナビゲーションウィンドウで、[src] > [main] > [java] を選択し、[java] を右クリックして、[新規] > [MaxCompute Java] を選択します。

[名前] を指定し、UDF クラスを選択して、Enter キーを押します。クラスをパッケージ内に配置するには、
packagename.classnameの形式で名前を入力します。MaxCompute Studio はパッケージを自動的に作成します。
エディターで Java UDF のロジックを作成します。

ヒント: 別の方法として、[MaxCompute] > [UDF の作成] から直接 UDF を作成することもできます。
UDF のローカルデバッグ
UDF を MaxCompute プロジェクトにデプロイする前に、ローカルで実行して出力が期待どおりであることを確認します。
Java ファイルを右クリックし、[実行] を選択します。
「[Run/Debug Configurations]」ダイアログボックスで、次のパラメーターを設定します。
リモート MaxCompute プロジェクトのテーブルデータを [ローカル] の代わりに使用するには、エンドポイントを変更し、プロジェクト名を指定する必要があります。MaxCompute Studio は、最初に必要になったときにテーブルデータをローカル ウェアハウス ディレクトリにダウンロードします。データが既にダウンロード済みの場合は、このステップはスキップされます。 [ローカル] を選択した場合、MaxCompute のデータまたはリソースとローカル プロジェクト間の相互作用は不要であり、ローカル環境で UDF の開発、テスト、およびデバッグが可能です。
パラメーター 説明 [MaxCompute プロジェクト] UDF が実行されるプロジェクトです。[ローカル] を選択すると、MaxCompute プロジェクトに接続せずに実行できます。 [MaxCompute テーブル] UDF がデータを処理するテーブルです。 [テーブル列] UDF が読み取る、そのテーブル内の列です。 
[OK] をクリックして UDF を実行します。UDF は、ウェアハウス内の指定されたテーブルのデータを入力として実行されます。コンソールでログ出力を表示します。
単体テストを使用した UDF のデバッグ
examples ディレクトリの例を参考に単体テストのパターンを確認し、UDF のテストケースを作成します。

次のステップ
UDF をローカルで検証した後、Java プログラムをパッケージ化し、パッケージをアップロードして UDF を登録し、MaxCompute で利用できるようにします。詳細については、「Java プログラムのパッケージ化、パッケージのアップロード、MaxCompute UDF の作成」をご参照ください。
参考資料
Python UDF の開発 — MaxCompute Studio で Java の代わりに Python を使用して UDF を作成します。