MaxCompute が提供するビルトイン関数がビジネス要件を満たせない場合、MaxCompute Studio でユーザー定義関数 (UDF) を開発してビジネス機能を実装できます。 このトピックでは、MaxCompute Studio を使用して Java UDF を開発およびデバッグする方法について説明します。
前提条件
開始する前に、次の操作が完了していることを確認してください。
MaxCompute Studio で MaxCompute プロジェクトへの接続が作成されていること。 詳細については、「プロジェクト接続の管理」をご参照ください。
MaxCompute Java モジュールが作成されていること。 詳細については、「MaxCompute Java モジュールの作成」をご参照ください。
背景情報
このトピックの手順に従って UDF を開発することも、 を選択して直接作成することもできます。
UDF の作成
[プロジェクト] ペインで、モジュールのソースコードディレクトリ (つまり ) を右クリックし、 を選択します。
[Name] を入力し、タイプとして [UDF] を選択して、Enter キーを押します。
[Create new MaxCompute java class] ダイアログボックスでは、UDAF、UDTF、Driver、mapper、reducer、StorageHandler、Extractor、Outputer などの他のクラスタイプも選択できます。
Name:MaxCompute Java クラスの名前。 パッケージを作成するには、packagename.classname の形式で名前を入力します。 この操作により、パッケージが自動的に作成されます。
MaxCompute Java クラスを作成した後、エディターで Java プログラムを開発します。
ローカル実行による UDF のデバッグ
ローカル実行を実行して UDF をテストし、結果が期待どおりか確認します。
Java スクリプトを右クリックし、[Run] を選択します。
[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 テーブルの列。
[OK] をクリックして実行を開始します。
説明システムは、ローカル実行中の入力として warehouse 内の指定されたテーブルからデータを読み取ります。 コンソールでログ出力を表示できます。
単体テストによる UDF のデバッグ
examples ディレクトリにある単体テストの例に基づいて、テストケースを作成できます。
次のステップ
UDF の開発とデバッグが完了したら、UDF を MaxCompute で利用できるようにするために、UDF コードをパッケージ化、アップロード、登録する必要があります。 詳細については、「Java プログラムのパッケージ化、パッケージのアップロード、MaxCompute UDF の作成」をご参照ください。
関連ドキュメント
MaxCompute Studio で Python を使用して UDF を開発する方法の詳細については、「Python UDF の開発」をご参照ください。