デフォルトでは、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 はデフォルトで無効になっています。手動で有効にする必要があります。
操作手順
-
クラスターのサービスページに移動します。
-
E-MapReduce コンソールにログインします。
-
上部メニューで、リージョンとリソースグループを選択します。
-
[EMR on ECS] ページで、対象のクラスターを見つけ、[Actions] 列の Services をクリックします。
-
-
EMR-HOOK を設定します。
-
Services ページで、Hive サービスのセクションにある Configure をクリックします。
-
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)] のデータが表示されなくなります。
-
-
設定を保存します。
-
Configure ページで Save をクリックします。
-
表示されるダイアログボックスに Execution Reason を入力し、Save をクリックします。
-
-
-
Hive を再起動します。
-
Configure ページで、More > 再起動 を選択します。
-
表示されるダイアログボックスに Execution Reason を入力し、OK をクリックします。
-
[Confirm] ダイアログボックスで [OK] をクリックします。
-
-
データ概要およびデータリネージを表示します。
-
Data Lake Formation (DLF) でデータ概要を表示します。詳細については、「データテーブルのデータ概要」をご参照ください。
-
DataWorks でデータリネージを表示します。詳細については、「データリネージ分析」をご参照ください。
-
よくある質問
関連トピック
Spark サービスで EMR-HOOK を設定する方法については、「SparkSQL:拡張機能を使用したデータリネージとアクセス履歴の記録」をご参照ください。