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

E-MapReduce:Hive 拡張機能を使用してデータリネージと履歴アクセス情報を記録する

最終更新日:Feb 17, 2025

デフォルトでは、EMR-HOOK は E-MapReduce(EMR)クラスタにデプロイされている Hive と統合されています。EMR-HOOK は、データリネージやアクセス頻度など、ジョブの SQL 情報を収集できます。 EMR-HOOK を使用して、Data Lake Formation(DLF)で管理されているメタデータに基づいて、テーブルまたはパーティションへのアクセス頻度を収集できます。 また、DataWorks を使用してデータリネージを管理することもできます。 このトピックでは、Hive 用の EMR-HOOK を構成する方法について説明します。

前提条件

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

制限事項

  • EMR-CLI を使用してデプロイされたゲートウェイでは、EMR-HOOK を使用してジョブの SQL 情報を収集することはできません。

  • EMR V5.16.0 または EMR V3.50.0 より前のマイナーバージョンでは、Hive 用に構成された [hive.exec.post.hooks] パラメータと、Spark 用に構成された [park.sql.queryexecutionlisteners] パラメータの設定をゲートウェイに同期できません。 EMR V5.16.0、EMR V3.50.0、または EMR V5.16.0 または EMR V3.50.0 より後のマイナーバージョンでは、前述のパラメータの設定をゲートウェイに同期でき、[hive_aux_jars_path_gateway_only] パラメータが導入されています。 hive_aux_jars_path_gateway_only パラメータを構成して、ゲートウェイでカスタム拡張機能を持つ JAR ファイルを個別に使用し、機能を強化できます。

注意事項

  • EMR V5.14.0 または EMR V3.48.0 より前のマイナーバージョンでは、EMR-HOOK はデフォルトで有効になっています。

    EMR V3.44 のカスタムクラスタで EMR-HOOK がデフォルトで無効になっている場合は、FAQ を参照して、EMR-HOOK を手動で有効にすることができます。

  • EMR V5.14.0、EMR V3.48.0、または EMR V5.14.0 または EMR V3.48.0 より後のマイナーバージョンでは、EMR-HOOK はデフォルトで無効になっています。 EMR-HOOK を使用する場合は、EMR-HOOK を手動で有効にする必要があります。

手順

  1. [サービス] タブに移動します。

    1. EMR コンソール にログインします。 左側のナビゲーションウィンドウで、[EMR on ECS] をクリックします。

    2. 上部のナビゲーションバーで、ビジネス要件に基づいて リージョンとリソースグループを選択します。

    3. [EMR on ECS] ページで、目的のクラスタを見つけ、[アクション] 列の [サービス] をクリックします。

  2. EMR-HOOK を構成します。

    1. [サービス] タブで、Hive サービスを見つけ、[構成] をクリックします。

    2. [構成] タブで、特定のサブタブで次の EMR-HOOK 関連の設定項目を変更または追加します。

      サブタブ

      パラメータ

      説明

      [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 コンソールの特定のテーブルの [データ概要] タブには、次の列のデータは表示されなくなります:[過去 1 日間のファイルアクセス数][過去 7 日間のファイルアクセス数][過去 30 日間のファイルアクセス数]

    3. 構成を保存します。

      1. [構成] タブで、[保存] をクリックします。

      2. 表示されるダイアログボックスで、[実行理由] パラメータを構成し、[保存] をクリックします。

  3. Hive を再起動します。

    1. [構成] タブの右上隅で、[詳細] > [再起動] を選択します。

    2. 表示されるダイアログボックスで、[実行理由] パラメータを構成し、[OK] をクリックします。

    3. [確認] メッセージで、[OK] をクリックします。

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

FAQ

EMR V3.44 のカスタムクラスタで EMR-HOOK を有効にするにはどうすればよいですか?

Hive サービスページの [構成] タブで、次の設定項目を変更し、指示に従って構成を有効にします。

サブタブ

設定項目

変更

[hive-site.xml]

hive_aux_jars_path

,/opt/apps/EMRHOOK/emrhook-current/hive-hook-1.1.5-hive23.jar を設定項目の値に追加します。

[hive-env.sh]

hive_aux_jars_path

関連情報

Spark 用の EMR-HOOK を構成する方法については、「Spark SQL 拡張機能を使用してデータリネージと履歴アクセス情報を記録する」をご参照ください。