全部產品
Search
文件中心

E-MapReduce:SparkSQL使用擴充記錄資料血緣和訪問歷史

更新時間:Jul 01, 2024

E-MapReduce叢集預設在Spark2和Spark3服務上整合了EMR-HOOK。EMR-HOOK可以收集作業的SQL資訊,例如資料血緣、訪問頻次等。通過EMR-HOOK,您可以使用資料湖構建(DLF)的資料概況,以統計表和分區的訪問次數,您也可以使用DataWorks來管理資料血緣。本文為您介紹如何配置Spark服務的EMR-HOOK。

前提條件

已建立DataLake或自訂叢集,且選擇了Spark服務,詳情請參見建立叢集

使用限制

  • EMR-HOOK不支援在通過EMR-CLI自訂部署的Gateway環境下收集作業相關的SQL資訊。

  • EMR-5.16.0之前版本、EMR-3.50.0之前版本,不支援在Gateway上同步hive.exec.post.hooks(Hive)和spark.sql.queryExecutionListeners(Spark)參數;EMR-5.16.0及之後版本、EMR-3.50.0及之後版本,不僅實現了上述參數在Gateway節點上的同步,還引入了新的參數hive_aux_jars_path_gateway_only,允許您在Gateway節點上獨立使用自訂擴充的JAR檔案來增強功能。

注意事項

  • EMR-5.14.0之前版本、EMR-3.48.0之前版本,EMR-HOOK預設開啟。

  • EMR-5.14.0及之後版本、EMR-3.48.0及之後版本,EMR-HOOK預設關閉,需要手動開啟。

操作步驟

  1. 進入叢集服務頁面。

    1. 登入E-MapReduce控制台

    2. 在頂部功能表列處,根據實際情況選擇地區和資源群組

    3. 在EMR on ECS頁面,單擊目的地組群操作列的叢集服務

  2. 配置EMR-HOOK。

    1. 叢集服務頁面,單擊Spark2或Spark3服務地區的配置

    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)控制台資料表的資料概況頁面將不再顯示當天訪問次數最近7天訪問次數最近30天訪問次數的資料。

    3. 儲存配置。

      1. 配置頁面,單擊儲存

      2. 在彈出的對話方塊中,輸入執行原因,單擊儲存

  3. 重啟Spark。

    1. 配置頁面,選擇更多操作> 重啟

    2. 在彈出的對話方塊中,輸入執行原因,單擊確定

    3. 確認對話中,單擊確定

相關文檔

配置Hive服務的EMR-HOOK詳情,請參見Hive使用擴充記錄資料血緣和訪問歷史