このトピックでは、E-MapReduce (EMR) 関数を登録する方法について説明します。
前提条件
-
EMR のエンジンタイプには、DataLake と Hadoop があります。必要な準備作業はエンジンタイプによって異なります。EMR と DataWorks の両方で必要な準備を完了する必要があります。
-
DataLake:詳細については、「DataLake クラスター設定」および「DataWorks 設定」をご参照ください。
-
Hadoop:詳細については、「Hadoop クラスター開発の準備」をご参照ください。
-
-
関数を登録する前に、リソースをアップロードする必要があります。EMR リソースの作成方法については、「EMR リソースの作成と使用」をご参照ください。
操作手順
-
[DataStudio] ページに移動します。
DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、 を選択します。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[DataStudioに移動] をクリックします。
-
ワークフローを作成します。詳細については、「スケジュールワークフローの作成」をご参照ください。
-
ローカルの Java 環境でプログラムを作成し、JAR ファイルにパッケージ化した後、JAR リソースを作成して送信します。詳細については、「EMR リソースの作成と使用」をご参照ください。
-
関数を作成します。
-
EMR を右クリックして、Create Function を選択します。
-
Create Function ダイアログボックスで、Name を入力し、Engine Instance と Path を選択します。
-
Create をクリックします。
-
Register Function ダイアログボックスで、以下のパラメーターを設定します。
パラメーター
説明
Function Type
関数タイプを選択します。選択肢には、Mathematical Operation Functions、Aggregate Functions、String Processing Functions、Date Functions、Window Functions、Other Functions があります。
[EMRエンジンインスタンス]
デフォルト値が表示され、変更はできません。
EMR engine type
デフォルト値が表示され、変更はできません。
EMR database
ドロップダウンリストからデータベースを選択します。新しいデータベースを作成するには、[データベースの作成] をクリックします。[データベースの作成] ダイアログボックスで、パラメーターを設定し、OK をクリックします。
Function Name
SQL ステートメントで使用される UDF 名です。この名前はグローバルで一意である必要があり、登録後は変更できません。
Owner
所有者がデフォルトで表示されます。
Class Name
必須。UDF を実装するメインクラス名です。
Resources
必須。ドロップダウンリストから、現在のワークスペースに属するリソースを選択します。リソースを作成するには、Create Resource をクリックします。Create Resource ダイアログボックスで、パラメーターを設定し、Determine をクリックします。
Description
UDF の簡単な説明です。
Expression Syntax
この UDF の構文例です。例:
testParameter Description
サポートされる入力パラメーターと戻り値のパラメータータイプです。
Return Value
オプション。戻り値です。例:1
Example
オプション。使用例です。
-
-
ツールバーの保存アイコン
をクリックします。 -
関数を送信します。
-
ツールバーの送信アイコン
をクリックします。説明関数を送信する際には、スケジューリングリソースグループを選択する必要があります。サーバーレスリソースグループの使用を推奨します。サーバーレスリソースグループを使用する場合、DataWorks は関数登録タスクを EMR エンジンに送信し、エンジンがタスクを実行して実行ログを出力します。送信中にエラーが発生した場合は、ログを使用してトラブルシューティングを行うことができます。サーバーレスリソースグループが利用できない場合は、購入して設定する必要があります。詳細については、「サーバーレスリソースグループの使用」をご参照ください。
-
Commit Node ダイアログボックスで、Change Description を入力します。
-
OK をクリックします。
-