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預設關閉,需要手動開啟。
操作步驟
進入叢集服務頁面。
在頂部功能表列處,根據實際情況選擇地區和資源群組。
在EMR on ECS頁面,單擊目的地組群操作列的叢集服務。
配置EMR-HOOK。
在叢集服務頁面,單擊Spark2或Spark3服務地區的配置。
在配置頁面的相應頁簽下,可以編輯或新增如下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天訪問次數的資料。
儲存配置。
在配置頁面,單擊儲存。
在彈出的對話方塊中,輸入執行原因,單擊儲存。
重啟Spark。
在配置頁面,選擇更多操作> 重啟。
在彈出的對話方塊中,輸入執行原因,單擊確定。
在確認對話中,單擊確定。
相關文檔
配置Hive服務的EMR-HOOK詳情,請參見Hive使用擴充記錄資料血緣和訪問歷史。