DataWorks では、E-MapReduce (EMR) JAR リソースと EMR FILE リソースを視覚的に作成できます。カスタム関数やオープンソースの MapReduce (MR) サンプルコードをリソースとしてアップロードし、EMR コンピュートノードで実行されるデータ開発タスクで参照できます。このトピックでは、リソースの作成、アップロード、コミットの方法について説明します。
前提条件
前提条件はエンジンタイプによって異なります。EMR と DataWorks の両方で必要な準備を完了する必要があります。
-
DataLake:詳細については、「DataLake クラスターの設定」および「DataWorks の設定」をご参照ください。
-
Hadoop:「Hadoop クラスター開発の準備」をご参照ください。
EMR リソースの作成
-
DataWorks コンソールにログインします。対象のリージョンで、左側のナビゲーションウィンドウで をクリックします。ドロップダウンリストからワークスペースを選択し、入力 データ開発 をクリックします。
-
ポインターを
アイコンに移動し、 または をクリックします。あるいは、ワークフローを見つけて右クリックし、 または を選択します。
-
Create Resource ダイアログボックスで、パラメーターを設定します。
パラメーター
説明
Engine Type
エンジンタイプはデフォルトで EMR であり、変更できません。
Engine Instance
ドロップダウンリストからエンジンインスタンスを選択します。
説明このリストには、データ開発でワークスペースにバインドされている EMR エンジンが表示されます。
Resource Type
EMR JAR と EMR FILE リソースタイプのみがサポートされています。
Path
リソースが配置されるワークフローパスです。
Storage path
リソースのストレージパスを選択します。サポートされているストレージタイプには OSS と [HDFS] が含まれます。
-
OSS を選択した場合は、まず権限を付与してからディレクトリを選択する必要があります。
説明権限の付与には Alibaba Cloud アカウントを使用する必要があります。
-
[HDFS] を選択した場合は、ストレージパスを手動で入力する必要があります。
説明タスクの JAR パッケージは、次の場所にのみ保存できます:
-
EMR クラスターのマスターノード。
-
Object Storage Service (OSS)。JAR パッケージは OSS に保存することを推奨します。OSS に JAR パッケージを保存する方法の詳細については、「OSS コンソールでの操作」をご参照ください。
File Source
ターゲットファイルのソースです。サポートされているソースには、Local と OSS があります。
-
Local を選択した場合は、Upload File フィールドの Click Upload をクリックして、ローカルファイルをアップロードします。
-
OSS を選択した場合は、Select file ドロップダウンリストから OSS ファイルを選択するか、Create in OSS をクリックして OSS ファイルを作成します。
Name
新しい EMR リソースの名前です。JAR リソースをアップロードする場合は、.jar 拡張子を含める必要があります。
-
-
Create Resource ダイアログボックスで、Create をクリックします。
-
ツールバーの
アイコンと
アイコンをクリックして、リソースを保存およびコミットします。説明リソースをコミットするときは、スケジューリングリソースグループを選択する必要があります。サーバーレスリソースグループを使用する場合、DataWorks はエンジンにタスクを送信してリソースを作成し、実行ログを出力します。コミット中に問題が発生した場合は、ログを使用してトラブルシューティングを行います。利用可能なサーバーレスリソースグループがない場合は、購入して設定する必要があります。詳細については、「サーバーレスリソースグループの使用」をご参照ください。
リソースを使用した関数の登録
DataWorks は、リソースを使用して関数を登録する視覚的な方法を提供します。必要なリソースをアップロードした後、それを使用して UI で関数を登録できます。データ開発で [関数の登録] フォームを開き、パラメーターを設定します。たとえば、[関数タイプ] を [その他の関数] に設定し、ターゲットの [EMR エンジンインスタンス] (例:xc_emr2) を選択し、[EMR エンジンタイプ] を [Hive] に、[EMR データベース] を [default] に設定します。次に、[関数名] (例:xc_ip2region) と UDF の完全な [クラス名] (例:org.alidata.emr.udf.Ip2Region) を入力します。最後に、[リソースリスト] で、左側のリソースツリーからアップロードした JAR ファイル (例:xc_ip2region-emr.jar) に関数を関連付けます。
ノードでのリソースの使用
EMR JAR リソースを作成した後、ノードでリソースを直接使用するには、Resources フォルダでリソースノードを選択し、ノードを右クリックして Insert Resource Path を選択します。左側のリソースツリーでリソースファイルを右クリックし、[リソースパスの挿入] を選択することもできます。
リソースパスを挿入すると、@resource_reference{"resourcename"} という形式のコード行がノードに自動的に追加され、リソースが参照されます。
詳細な手順については、「EMR MR ノードの作成」をご参照ください。
リソースバージョンの管理
リソースを送信するたびに、新しいリソースバージョンが生成されます。リソースノードを右クリックして View Versions をクリックすると、リソースを表示およびダウンロードできます。左側のリソースディレクトリで、ターゲットのリソースファイル (例:xc_ip2region.jar) を右クリックし、[履歴バージョンの表示] を選択します。[バージョン情報] ダイアログボックスが表示され、各バージョンのファイル ID、バージョン番号、提出者、提出時間、変更タイプ、ステータスが表示されます。特定のバージョンの [コードのダウンロード] をクリックしてその履歴コードを取得したり、複数のバージョンを選択して下部にある [比較] ボタンをクリックして差異を比較したりできます。