本ガイドでは、HIVECLI ノードを例として、E-MapReduce (EMR) ワークフローのジョブをエンドツーエンドで初めて実行する手順を説明します。
完了後には、クラスターのバインド、プロジェクトの作成、HIVECLI ノードを含むワークフローの定義、ジョブの実行、およびログの確認が可能です。
前提条件
開始する前に、以下の準備が完了していることを確認してください。
EMR ワークフローに対する権限付与を完了しています。詳細については、「EMR ワークフローへの RAM ロールの割り当て」をご参照ください。
ECS 上の EMR ページでクラスターを作成済みです。「クラスターの作成」をご参照ください。クラスターは、EMR データレイククラスター、Hadoop クラスター、またはカスタムクラスターである必要があります。
仕組み
EMR ワークフローでは、ジョブをノードで構成されるワークフローとして整理します。各ノードは特定のタスクを実行します。本例では、HIVECLI ノードが Hive SQL スクリプトを実行します。ワークフローを実行するには、まず計算リソースを提供するクラスターをバインドし、ワークフローをグループ化するためのプロジェクトを作成する必要があります。
以下の手順に従って操作を行います:クラスターのバインド → プロジェクトの作成 → ワークフローの定義 → ワークフローの実行 → ログの確認。
ステップ 1:クラスターのバインド
EMR コンソール にログインします。
左側ナビゲーションウィンドウで、EMR Studio > Workflow を選択します。
セキュリティ タブをクリックします。
クラスター管理 ページで、クラスターのバインド をクリックします。
クラスターのバインド ダイアログボックスで、クラスタータイプ、クラスター ID、および vSwitch ID を設定し、確認 をクリックします。バインド処理には 5~10 分かかります。クラスター管理 ページを更新し、状態 列に 関連付け済み と表示されるまで待ちます。
ステップ 2:プロジェクトの作成
プロジェクト タブをクリックします。
プロジェクトの作成 をクリックします。
プロジェクトの作成 ダイアログボックスで、プロジェクト名を入力し、確認 をクリックします。本例では、プロジェクト名として
project_testを使用します。
ステップ 3:ワークフローの定義
プロジェクト タブで、project_test をクリックします。
左側ナビゲーションウィンドウで、Workflow > ワークフロー定義 を選択します。
ワークフロー定義 ページで、ワークフローの作成 をクリックします。
ワークフローの作成 ページで、HIVECLI ノードをキャンバスにドラッグします。利用可能なノードタイプの完全な一覧については、「ノードタイプ」をご参照ください。
「[現在のノード設定]」ダイアログボックスで、必須パラメーターを設定し、[確認] をクリックします。他のすべてのパラメーターはデフォルト値のままにしておきます。パラメーターの詳細については、「HIVECLI」をご参照ください。[スクリプト] 値として、次のスクリプトを使用します:
パラメーター 必須 例の値 ノード名 はい hivecliスクリプト はい 以下のスクリプトを参照 create table if not exists mytable(a string, b int); insert into mytable values ('abc', 1), ('def', 2); select a, sum(b) from mytable group by a;ワークフローを保存します。
キャンバスの右上隅にある 保存 をクリックします。
基本情報 ダイアログボックスで、ワークフロー名を入力し、確認 をクリックします。本例では、ワークフロー名として
workflow_testを使用します。
ステップ 4:ワークフローの実行
[ワークフロー定義] ページで、
workflow_testを見つけ、[操作] 列の実行アイコン (
) をクリックします。開始アイコン (
) をクリックします。開始前にパラメーターを設定してください ダイアログボックスで、ステップ 1 でバインドしたクラスターを 実行クラスター のドロップダウンリストから選択し、確認 をクリックします。
ステップ 5:タスクログの表示
左側ナビゲーションウィンドウで、Workflow > ワークフローインスタンス を選択し、ワークフローの実行が開始されたことを確認します。
タスク > タスクインスタンス を選択します。
[タスクインスタンス] ページで、タスクインスタンスを見つけ、[操作] 列のログアイコン(
)をクリックして、実行ログを表示します。
ステップ 6:(任意)ワークフローのオフライン化
[ワークフロー定義] ページで、ワークフローを見つけ、[操作] 列のオフラインアイコン (
) をクリックします。