EMR-HOOK は、E-MapReduce (EMR) クラスターの Hive にデフォルトで統合されています。EMR-HOOK は、Data Lake Formation (DLF) で管理されているメタデータに基づいて、SQL ジョブ情報 (特にデータリネージ、テーブルまたはパーティションのアクセス頻度) を取得します。EMR-HOOK を有効にした後、DataWorks でリネージデータを表示し、DLF コンソールでアクセス頻度データを表示できます。
バージョンの互換性
| EMR バージョン | EMR-HOOK のデフォルト状態 | ゲートウェイパラメーターの同期 |
|---|---|---|
| V5.14.0 または V3.48.0 以前 | 有効 | サポートされていません |
| V5.14.0、V3.48.0、またはそれ以降 | 無効 — 手動で有効にする必要があります | サポートされていません |
| V5.16.0、V3.50.0、またはそれ以降 | 無効 — 手動で有効にする必要があります | サポートされています。 hive_aux_jars_path_gateway_only が利用可能です。 |
前提条件
開始する前に、以下を確認してください。
Hive サービスが選択された DataLake またはカスタムクラスターがあること。詳細については、「クラスターの作成」をご参照ください。
制限事項
EMR-HOOK は、EMR-CLI を使用してデプロイされたゲートウェイから SQL ジョブ情報を収集できません。
EMR バージョン V5.16.0 または V3.50.0 以前では、
hive.exec.post.hooks(Hive) およびspark.sql.queryExecutionListeners(Spark) の設定をゲートウェイに同期することはできません。V5.16.0、V3.50.0、またはそれ以降では、同期がサポートされており、hive_aux_jars_path_gateway_onlyパラメーターを使用すると、ゲートウェイでのみカスタム JAR ファイルをロードできます。
Hive 用 EMR-HOOK の有効化
ステップ 1: Hive 設定を開く
「EMR コンソール」にログインします。左側のナビゲーションウィンドウで、[EMR On ECS] をクリックします。
上部のナビゲーションバーで、リージョンとリソースグループを選択します。
[EMR on ECS] ページで、クラスターを見つけて、[操作] 列の [サービス] をクリックします。
[サービス] タブで、Hive サービスを見つけて、[構成] をクリックします。
ステップ 2: 設定パラメーターを設定する
[構成] タブで、次のパラメーターを更新します。パラメーターはサブタブごとに整理されています。
hive-site.xml
| パラメーター | 値 |
|---|---|
hive.exec.post.hooks |
|
dlf.emrhook.webtracking | true に設定するとアクセス頻度レポートが有効になります。false に設定すると無効になります。 |
hivemetastore-site.xml
| パラメーター | 値 |
|---|---|
hive.metastore.event.listeners |
|
hive.metastore.pre.event.listeners |
|
EMR-HOOK が無効になっている場合、DLF コンソールのテーブルの [データ概要] タブには、[過去 1 日間のファイルアクセス]、[過去 7 日間のファイルアクセス]、および [過去 30 日間のファイルアクセス] 列にデータが表示されなくなります。
ステップ 3: 設定を保存する
[構成] タブで、[保存] をクリックします。
ダイアログボックスで、[実行理由] を設定し、[保存] をクリックします。
ステップ 4: Hive を再起動する
[構成] タブの右上隅で、[その他] > [再起動] を選択します。
ダイアログボックスで、[実行理由] を設定し、[OK] をクリックします。
[確認] メッセージで、[OK] をクリックします。
結果の表示
Hive の再起動後、EMR-HOOK はデータの取得を開始します。
アクセス頻度:DLF コンソールでテーブルを開き、[データ概要] をクリックします。詳細については、「データテーブルのデータ概要」をご参照ください。
データリネージ:DataWorks コンソールでリネージビューを開きます。詳細については、「リネージの表示」をご参照ください。
よくある質問
EMR V3.44 を実行しているカスタムクラスターで EMR-HOOK を有効にするにはどうすればよいですか?
Hive サービスの [構成] タブで、両方のサブタブの hive_aux_jars_path に JAR ファイルパスを追加し、プロンプトに従って変更を適用します。
| サブタブ | パラメーター | 変更 |
|---|---|---|
| hive-site.xml | hive_aux_jars_path | ,/opt/apps/EMRHOOK/emrhook-1.1.5/hive-hook-1.1.5-hive23.jar |
| hive-env.sh | hive_aux_jars_path | ,/opt/apps/EMRHOOK/emrhook-1.1.5/hive-hook-1.1.5-hive23.jar |
次のステップ
Spark ジョブのデータリネージとアクセス履歴をキャプチャするには、詳細については、「Spark SQL 拡張機能を使用したデータリネージと履歴アクセス情報の記録」をご参照ください。