DataWorks では、CDH MR (MapReduce) ノードを作成して、大規模なデータセットを処理できます。
前提条件
-
DataStudio でワークフローが作成されていること。
DataStudio では、開発タスクはワークフローにまとめられます。ノードを作成する前に、ワークフローを作成する必要があります。詳細については、「ワークフローの作成」をご参照ください。
-
CDH クラスターが作成され、ご利用の DataWorks ワークスペースに登録されていること。
CDH ノードとタスクを作成する前に、CDH クラスターを DataWorks ワークスペースに登録する必要があります。詳細については、「旧バージョンの DataStudio で CDH 計算リソースをバインドする」をご参照ください。
-
(任意) RAM ユーザーを使用している場合、そのユーザーをワークスペースに追加し、Development または スペースマネージャー ロールを割り当てる必要があります。ワークスペース管理者ロールには広範な権限があるため、慎重に割り当ててください。メンバーの追加に関する詳細については、「ワークスペースへのメンバーの追加」をご参照ください。
-
サーバーレスリソースグループが購入され、設定されていること。設定には、リソースグループのワークスペースへのバインドやネットワークの設定が含まれます。詳細については、「サーバーレスリソースグループの使用」をご参照ください。
制限事項
このタイプのタスクは、サーバーレスリソースグループまたは旧バージョン専用スケジューリングリソースグループで実行できます。サーバーレスリソースグループの使用を推奨します。
ステップ 1: CDH MR ノードの作成
DataWorks コンソールにログインします。対象のリージョンで、左側のナビゲーションウィンドウで をクリックします。ドロップダウンリストからワークスペースを選択し、入力 データ開発 をクリックします。
-
ワークフローを右クリックし、 を選択します。
-
Create Node ダイアログボックスで、ノードのエンジンインスタンス、パス、および名前を設定します。
-
OK をクリックすると、ノードエディターが開き、タスクを開発および設定できます。
ステップ 2: CDH JAR リソースの作成と参照
DataWorks では、ローカルマシンから DataStudio にリソースをアップロードし、ノードで参照できます。
-
CDH JAR リソースを作成します。
対応するワークフローで、 を右クリックし、 を選択します。 Create Resource ダイアログボックスで、Click Upload をクリックし、アップロードするファイルを選択します。
ダイアログボックスでは、ストレージパスはデフォルトで
/user/admin/libに設定されています。Kerberos 認証が有効になっている場合は、現在のユーザーにこのディレクトリへの書き込み権限を付与する必要があります。アップロードする JAR パッケージのサイズは 50 MB を超えることはできず、その名前は.jarサフィックスで終わる必要があります。 -
CDH JAR リソースを参照します。
-
作成したCDH MR ノードの編集ページを開きます。
-
で、参照するリソース (例:
onaliyun_mr_wordcount-1.0-SNAPSHOT.jar) を見つけ、リソース名を右クリックして Insert Resource Path を選択します。Insert Resource Pathを選択すると、コードエディタに
##@resource_reference{""}フォーマットの文が追加され、リソースが正常に参照されたことを示します。 次のコマンドは一例です。 プレースホルダーのリソースパッケージ、バケット名、パスを実際の情報に置き換えてください。##@resource_reference{"onaliyun_mr_wordcount-1.0-SNAPSHOT.jar"} onaliyun_mr_wordcount-1.0-SNAPSHOT.jar cn.apache.hadoop.onaliyun.examples.EmrWordCount oss://onaliyun-bucket-2/cdh/datas/wordcount02/inputs oss://onaliyun-bucket-2/cdh/datas/wordcount02/outputs説明CDH MR ノードのコードエディターではコメントはサポートされていません。
-
ステップ 3: タスクスケジューリングの設定
タスクを定期スケジュールで実行するには、右側のペインでSchedulingをクリックして、スケジューリングプロパティを設定します:
-
基本スケジューリングプロパティを設定します。詳細については、「基本プロパティの設定」をご参照ください。
-
スケジューリング周期、再実行プロパティ、および依存関係を設定します。詳細については、「時間プロパティの設定」および「同一周期のスケジューリング依存関係の設定」をご参照ください。
説明ノードをコミットする前に、Rerun attribute プロパティを設定し、Parent Nodes を指定する必要があります。
-
リソースプロパティを設定します。詳細については、「リソースプロパティの設定」をご参照ください。タスクがパブリックインターネットまたは VPC にアクセスする必要がある場合は、必要なネットワーク接続を持つスケジューリングリソースグループを選択する必要があります。詳細については、「ネットワーク接続ソリューション」をご参照ください。
ステップ 4: コードのデバッグ
-
(任意) ランタイムリソースグループを選択し、カスタムパラメーターに値を割り当てます。
-
ツールバーで
アイコンをクリックします。Parameter ダイアログボックスで、デバッグに使用するリソースグループを選択します。 -
タスクコードがスケジューリングパラメーターを使用している場合は、ここでデバッグ用に値を割り当てます。値の割り当てロジックの詳細については、「実行、詳細実行、開発環境のスモークテストにおける値の割り当てロジックの違いは何ですか?」をご参照ください。
-
-
SQL 文を保存して実行します。
ツールバーで
アイコンをクリックして SQL 文を保存し、次に
アイコンをクリックしてタスクを実行します。 -
(任意) スモークテストを実行します。
開発環境でスモークテストを実行するには、コミットプロセス中またはノードをコミットした後に行うことができます。詳細については、「スモークテストの実行」をご参照ください。
次のステップ
-
タスクをコミットしてデプロイします。
-
ツールバーで
アイコンをクリックしてノードを保存します。 -
ツールバーで
アイコンをクリックしてタスクをコミットします。 -
Commit Node ダイアログボックスで、Change Description を入力します。
-
Determine をクリックします。
標準モードのワークスペースでは、タスクをコミットした後、本番環境にデプロイする必要があります。上部のメニューバーで、[デプロイ] をクリックします。詳細については、「タスクをデプロイする」をご参照ください。
-
-
定期タスクを表示します。
-
エディターの右上で、O&M Personnelをクリックして本番環境のオペレーションセンターを開きます。
-
実行中の定期タスクを表示します。詳細については、「定期タスクの管理」をご参照ください。
定期タスクの詳細を表示するには、トップメニューバーのOperation Centerをクリックします。詳細については、「オペレーションセンターの概要」をご参照ください。
-