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

E-MapReduce:Spark SQL 拡張機能を使用してデータ系列と履歴アクセス情報を記録する

最終更新日:Apr 04, 2025

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

前提条件

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

制限事項

  • 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 がデフォルトで無効になっている場合は、よくある質問 を参照して、EMR-HOOK を手動で有効にすることができます。

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

手順

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

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

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

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

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

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

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

      サブタブ

      パラメータ

      説明

      [spark-defaults.conf]

      spark.sql.queryExecutionListeners

      データ系列やアクセス頻度など、Spark の SQL 情報をリッスンします。

      • EMR-HOOK が有効になっている場合は、このパラメータを com.aliyun.emr.meta.spark.listener.EMRQueryLogger に設定します。

      • EMR-HOOK が無効になっている場合は、このパラメータを空のままにします。

      [hive-site.xml]

      dlf.emrhook.webtracking

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

      • true:有効

      • false:無効

      説明

      EMR-HOOK が無効になっている場合、DLF コンソールの特定のテーブルの [データ概要] タブには、次の列のデータは表示されなくなります。 [過去 1 日間のファイルアクセス数][過去 7 日間のファイルアクセス数][過去 30 日間のファイルアクセス数]

    3. 構成を保存します。

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

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

  3. Spark を再起動します。

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

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

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

  4. データ概要とデータ系列を表示します。

    • DLF コンソールでデータ概要を表示できます。 詳細については、「データテーブルのデータ概要」をご参照ください。

    • DataWorks コンソールでデータ系列を表示できます。 詳細については、「系列を表示する」をご参照ください。

よくある質問

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

Spark サービスページの [構成] タブで、次の構成項目を変更し、プロンプトに従って構成を有効にします。

サブタブ

構成項目

変更

[spark-defaults.conf]

spark.driver.extraClassPath

/opt/apps/EMRHOOK/emrhook-1.1.5/spark-hook-1.1.5-spark30.jar を構成項目の値に追加します。

spark.executor.extraClassPath

関連情報

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