Javaプログラムを開発してデバッグした後、JavaプログラムをJARファイルにパッケージ化し、そのJARファイルをリソースとしてMaxComputeプロジェクトにアップロードする必要があります。 その後、後続のデータ開発中に呼び出されるMaxComputeユーザー定義関数 (UDF) を作成できます。 このトピックでは、JavaプログラムをJARファイルにパッケージ化し、そのJARファイルをMaxComputeリソースとしてアップロードし、数回クリックするだけでMaxCompute UDFを作成する方法について説明します。
前提条件
Javaプログラムが開発され、デバッグされる。 Javaプログラムの開発およびデバッグ方法の詳細については、「UDFの開発」、「MapReduceプログラムの開発」、または「グラフプログラムの開発」をご参照ください。
説明
MaxCompute Studioを使用すると、JavaプログラムをJARファイルにパッケージ化し、そのJARファイルをMaxComputeプロジェクトにアップロードしてから、数回クリックするだけでMaxCompute UDFを作成できます。 これらの操作を実行するには、この方法を使用することを推奨します。
MaxCompute Studioで次の操作を順番に実行することもできます。
JavaプログラムをJARファイルにパッケージ化します。 詳細については、「JARファイルの生成」をご参照ください。
MaxComputeにJARファイルをアップロードします。 詳細については、「リソースを視覚化して管理」の「リソースの追加」セクションをご参照ください。
MaxCompute UDFを作成します。 詳細については、「UDFの登録」の「関数の作成」セクションをご参照ください。
手順
IntelliJ IDEAの左側のナビゲーションウィンドウで、[プロジェクト] をクリックします。 を選択し、コンパイルしたJavaプログラムを右クリックして、[サーバーにデプロイ] を選択します。
jarのパッケージ化、リソースの送信、関数の登録ダイアログボックスで、パラメーターを設定します。
パラメーター
説明
MaxComputeプロジェクト
Javaプログラムが属するMaxComputeプロジェクトの名前。 このパラメーターは自動的に指定されます。 ドロップダウンリストからMaxComputeプロジェクトを選択する必要はありません。
リソースファイル
JavaプログラムのJARファイルが格納されているローカルディレクトリ。
リソース名
JARファイルをMaxComputeプロジェクトにアップロードするリソースの名前。
リソースコメント
リソースのコメント。
他のリソース
MaxCompute UDFの作成に必要なその他のリソースファイル。 リソース一覧から必要なリソースファイルを選択できます。 MaxCompute UDFが複数のリソースファイルに依存している場合は、Ctrlキーを押したまま、必要なファイルを順番にクリックして選択します。 [Extra resources] フィールドに、MaxComputeプロジェクトに追加されたリソースが表示されます。 リソースを追加する方法の詳細については、「リソースを視覚化した方法で管理」の「リソースの追加」セクションをご参照ください。
メインクラス
作成するMaxCompute UDFのクラス。 クラスはJavaプログラムで定義されています。
関数名
JARファイルに基づいてMaxCompute Studioで作成するMaxCompute UDFの名前。 UDF名は、SQL文でUDFを呼び出すときに使用されます。
既に存在する場合に強制更新
このオプションを選択すると、作成したUDFまたはリソースが、MaxComputeプロジェクト内の同じ名前の既存のUDFまたはリソースを上書きします。
OK をクリックします。
上記の操作を完了した後、SQL文でMaxCompute UDFを呼び出すことができます。
次に何をすべきか
Java UDFを作成した後、MaxCompute SQLを使用してJava UDFを呼び出すことができます。
MaxComputeプロジェクトでUDFを使用する: このメソッドは、組み込み関数のメソッドと似ています。 組み込み関数の使用方法を参照して、UDFを使用できます。
プロジェクト間でUDFを使用する: プロジェクトAでプロジェクトBのUDFを使用します。サンプルステートメント:
SELECT B:<udf_naem> (<arg0>, <arg1>) FROM <table_name>;
プロジェクト間共有の詳細については、「パッケージに基づくプロジェクト間リソースアクセス」をご参照ください。
関連ドキュメント
Java UDFの開発と呼び出しに関するよくある質問に対する回答については、「MaxCompute Java UDFに関するよくある質問」をご参照ください。
UDF開発例については、「UDF開発例」をご参照ください。