取消
顯示的結果
而不是尋找
你的意思是:

有什麼方法確定SparkSQL應用程序執行的最後階段?

krishnakash
新的貢獻者二世

我已經創建了自定義UDF的生成日誌。這些日誌可以刷新通過調用另一個API公開暴露的一個內部層。但是我想調用此API剛剛UDF的執行結束。有什麼方法確定執行一個特定的UDF調用API來完成衝洗日誌和清理。

例如當我們擴展蜂巢的GenericUDF類蜂巢UDF,有密切函數可用生命周期的UDF之後,將調用UDF的執行。

類似的方法可以在SparkSQL udf嗎?

1接受解決方案

接受的解決方案

User16763506586
貢獻者

@Krishna Kashiv

可能是ExecutorPlugin.java能幫上忙。它擁有所有你可能需要的方法。讓我知道它是否可以工作。

你需要實現該接口org.apache.spark.api.plugin.SparkPlugin

並將其公開為火花。插件= com.abc.ImplementationClass

在原帖子查看解決方案

6個回答6

Kaniz
社區經理
社區經理

你好@krishnakash!我的名字叫Kaniz,我這裏的技術主持人。很高興認識你,謝謝你的問題!看看你的同行在社區中有一個回答你的問題。否則我將與我的團隊跟進,盡快給你回電。謝謝。

User16763506586
貢獻者

《旅,我不認為回調功能還支持UDF。但是我們可以通過實施解決方案SparkListenerInterface或延長SparkFirehoseListener。這有一些方法這樣一個方法可能會幫助我們onStageCompleted

可以找到接口定義在這裏

一旦你實現了接口使用sparkContext.addSparkListener你可以將它添加到火花

/ * * *::DeveloperApi:: *注冊一個監聽器接收返回值從執行期間發生的事件。* / @DeveloperApi def addSparkListener(偵聽器:SparkListenerInterface):單位= {listenerBus.addToSharedQueue(聽眾)}

我們試著添加SparkListener,添加伐木工的所有類型的功能SparkListenerInterface然而根據我們的觀察,我們發現司機日誌中會生成日誌。這意味著司機節點執行回調方法。

有可能從執行器節點調用這些回調方法;隨著審計日誌刷新生成在執行器節點?

User16763506586
貢獻者

@Krishna Kashiv

可能是ExecutorPlugin.java能幫上忙。它擁有所有你可能需要的方法。讓我知道它是否可以工作。

你需要實現該接口org.apache.spark.api.plugin.SparkPlugin

並將其公開為火花。插件= com.abc.ImplementationClass

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map