デフォルトでは、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 を手動で有効にする必要があります。
手順
[サービス] タブに移動します。
EMR コンソール にログインします。 左側のナビゲーションウィンドウで、[EMR on ECS] をクリックします。
上部のナビゲーションバーで、ビジネス要件に基づいて リージョンとリソースグループを選択します。
[EMR on ECS] ページで、目的のクラスタを見つけ、[アクション] 列の [サービス] をクリックします。
EMR-HOOK を構成します。
[サービス] タブで、Hive サービスを見つけ、[構成] をクリックします。
[構成] タブで、特定のサブタブで次の 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 日間のファイルアクセス数]。
構成を保存します。
[構成] タブで、[保存] をクリックします。
表示されるダイアログボックスで、[実行理由] パラメータを構成し、[保存] をクリックします。
Hive を再起動します。
[構成] タブの右上隅で、[詳細] > [再起動] を選択します。
表示されるダイアログボックスで、[実行理由] パラメータを構成し、[OK] をクリックします。
[確認] メッセージで、[OK] をクリックします。
データ概要とデータリネージを表示します。
DLF コンソールでデータ概要を表示できます。 詳細については、「データテーブルのデータ概要」をご参照ください。
DataWorks コンソールでデータリネージを表示できます。 詳細については、「リネージを表示する」をご参照ください。
FAQ
関連情報
Spark 用の EMR-HOOK を構成する方法については、「Spark SQL 拡張機能を使用してデータリネージと履歴アクセス情報を記録する」をご参照ください。