すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:Hive 拡張:データリネージとアクセス履歴の記録

最終更新日:Sep 22, 2026

デフォルトでは、E-MapReduce (EMR) クラスターの Hive サービスに EMR-HOOK が統合されています。EMR-HOOK は、データリネージやアクセス頻度など、ジョブの SQL 情報を収集します。EMR-HOOK を Data Lake Formation (DLF) と組み合わせて使用して、テーブルとパーティションのアクセス統計を追跡できます。また、DataWorks を使用してデータリネージを管理することもできます。このトピックでは、Hive サービスで EMR-HOOK を設定する方法について説明します。

前提条件

DataLake クラスターまたはカスタムクラスターを作成し、Hive サービスを選択します。詳細については、「クラスターの作成」をご参照ください。

制限事項

  • EMR-CLI でカスタムデプロイされたゲートウェイ環境のジョブからの SQL 情報の収集はサポートされていません。

  • EMR バージョン 5.16.0 および 3.50.0 より前では、hive.exec.post.hooks (Hive 用) および spark.sql.queryExecutionListeners (Spark 用) パラメーター設定はゲートウェイノードに同期されません。EMR バージョン 5.16.0 以降および 3.50.0 以降では、これらの設定はゲートウェイノードに同期されます。これらのバージョンでは、hive_aux_jars_path_gateway_only パラメーターも導入されており、ゲートウェイノードでカスタム拡張 JAR ファイルを個別に使用できます。

注意事項

  • EMR バージョン 5.14.0 および 3.48.0 より前では、EMR-HOOK はデフォルトで有効になっています。

    EMR 3.44 のカスタムクラスターで EMR-HOOK がデフォルトで有効になっていない場合、手動で有効にすることができます。詳細については、「よくある質問」セクションをご参照ください。

  • EMR バージョン 5.14.0 以降および 3.48.0 以降では、EMR-HOOK はデフォルトで無効になっています。手動で有効にする必要があります。

操作手順

  1. クラスターのサービスページに移動します。

    1. E-MapReduce コンソールにログインします。

    2. 上部メニューで、リージョンとリソースグループを選択します。

    3. [EMR on ECS] ページで、対象のクラスターを見つけ、[Actions] 列の Services をクリックします。

  2. EMR-HOOK を設定します。

    1. Services ページで、Hive サービスのセクションにある Configure をクリックします。

    2. Configure ページで、次のパラメーターを追加または変更します。

      タブ

      パラメーター

      説明

      hive-site.xml

      hive.exec.post.hooks

      Hive サービスからの SQL ステートメントをリッスンするフックを指定します。このフックは、データリネージとアクセス頻度の情報を収集します。

      • EMR-HOOK を有効にするには、このパラメーターを com.aliyun.emr.meta.hive.hook.LineageLoggerHook に設定します。

      • EMR-HOOK を無効にするには、このパラメーターを空のままにします。

      dlf.emrhook.webtracking

      アクセス頻度のレポートを有効にするかどうかを指定します。有効な値:

      • true:有効

      • false:無効

      hivemetastore-site.xml

      hive.metastore.event.listeners

      Hive メタデータ変更に関連するイベントのリスナーを指定します。このリスナーは、データリネージの情報を収集します。

      • EMR-HOOK を有効にするには、このパラメーターを com.aliyun.emr.meta.hive.listener.MetaStoreListener に設定します。

      • EMR-HOOK を無効にするには、このパラメーターを空のままにします。

      hive.metastore.pre.event.listeners

      Hive メタデータ変更の前に発生するイベントのリスナーを指定します。このリスナーは、データリネージの情報を収集します。

      • EMR-HOOK を有効にするには、このパラメーターを com.aliyun.emr.meta.hive.listener.MetaStorePreAuditListener に設定します。

      • EMR-HOOK を無効にするには、このパラメーターを空のままにします。

      説明

      EMR-HOOK を無効にすると、DLF コンソールのテーブルの [Data Overview] ページに、[Access Count (Today)]、[Access Count (Last 7 Days)]、および [Access Count (Last 30 Days)] のデータが表示されなくなります。

    3. 設定を保存します。

      1. Configure ページで Save をクリックします。

      2. 表示されるダイアログボックスに Execution Reason を入力し、Save をクリックします。

  3. Hive を再起動します。

    1. Configure ページで、More > 再起動 を選択します。

    2. 表示されるダイアログボックスに Execution Reason を入力し、OK をクリックします。

    3. [Confirm] ダイアログボックスで [OK] をクリックします。

  4. データ概要およびデータリネージを表示します。

よくある質問

EMR-3.44 のカスタムクラスターで EMR-HOOK を有効にする方法

Hive サービスの Configure タブで、次のパラメーターを変更します。その後、プロンプトに従って変更を適用します。

タブ

パラメーター

変更

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

関連トピック

Spark サービスで EMR-HOOK を設定する方法については、「SparkSQL:拡張機能を使用したデータリネージとアクセス履歴の記録」をご参照ください。