Java プログラムを開発・デバッグした後は、そのプログラムを JAR ファイルにパッケージ化し、MaxCompute プロジェクトにリソースとしてアップロードして、ユーザー定義関数 (UDF) として登録する必要があります。これにより、データ開発で UDF を呼び出せるようになります。本トピックでは、MaxCompute Studio で Java プログラムのパッケージ化、JAR ファイルのアップロード、UDF の登録をワンクリックで実行する方法について説明します。
前提条件
Java プログラムの開発とデバッグが完了していること。Java プログラムの開発とデバッグ方法の詳細については、「UDFの開発」、「MapReduceの開発」、または「Graphの開発」をご参照ください。
機能の説明
MaxCompute Studio を使用すると、Java プログラムを JAR ファイルにパッケージ化し、そのファイルを MaxCompute にアップロードして、MaxCompute UDF をワンクリックで登録できます。この方法を推奨します。
または、MaxCompute Studio で次の3つの操作を個別に実行することもできます。
-
Java プログラムを JAR ファイルにパッケージ化します。詳細については、「JARファイルの生成」をご参照ください。
-
JAR ファイルを MaxCompute にアップロードします。詳細については、「リソースの追加」をご参照ください。
-
MaxCompute UDF を登録します。詳細については、「関数の登録」をご参照ください。
操作手順
-
IntelliJ IDEA で、ナビゲーションペインにある [Project] をクリックします。モジュールのソースフォルダーである に移動します。コンパイル済みの Java プログラムを右クリックし、[Deploy to server…] を選択します。
-
[Package a jar, submit resource and register function] ダイアログボックスで、パラメータを設定します。
パラメーター名
説明
MaxCompute Project
アップロード先の MaxCompute プロジェクト名です。このフィールドには、Java プログラムが存在するプロジェクトが自動的に表示されます。ドロップダウンリストからプロジェクトを選択する必要はありません。
Resource file
MaxCompute Studio が Java プログラムをパッケージ化した後の JAR ファイルのローカルパスです。
Resource name
JAR ファイルを MaxCompute プロジェクトにアップロードした後のリソース名です。
Resource comment
JAR リソースのコメントです。
Extra resources
MaxCompute UDF の登録に必要なその他のリソースファイルです。リソースリストで対象のリソースファイルをクリックします。複数のファイルを選択するには、Ctrl キーを押しながら各ファイルをクリックします。 リストには、MaxCompute プロジェクトにすでにアップロードされているリソースが表示されます。リソースの追加の詳細については、「リソースの追加」をご参照ください。
Main class
新しい MaxCompute UDF のクラス名です。これは Java プログラムで定義したクラスです。
Function name
JAR リソースから登録する MaxCompute UDF の関数名です。これは SQL で関数を呼び出す際に使用する名前です。
Force update if already exists
同名の関数またはリソースが MaxCompute プロジェクトにすでに存在する場合に、それらを上書きするには、このオプションを選択します。
-
[OK] をクリックして、プログラムのパッケージ化、リソースのアップロード、MaxCompute UDF の登録を実行します。
これらの手順が完了すると、SQL で MaxCompute UDF を呼び出せます。
次のステップ
Java UDF を登録した後は、MaxCompute SQL を使用して呼び出せます。
-
登録先の MaxCompute プロジェクトから UDF を呼び出す:組み込み関数を呼び出す場合と同様に UDF を呼び出せます。
-
別のプロジェクトから UDF を呼び出す:これは、プロジェクト A でプロジェクト B の UDF を呼び出す場合などです。次のコードは、クロスプロジェクトでの UDF 呼び出し例です:
SELECT B:<udf_name> (<arg0>, <arg1>) FROM <table_name>;。クロスプロジェクト共有の詳細については、「パッケージを使用したプロジェクト間のリソースアクセス」をご参照ください。
関連ドキュメント
-
Java UDF の開発および呼び出し時に発生する可能性のある一般的な問題の詳細については、「MaxCompute Java UDFのよくある質問」をご参照ください。
-
UDF開発の例については、「UDF開発の例」をご参照ください。