2013-03-15 22 views
2

我是豬的新寵。豬步執行細節

我已經寫了一個小豬腳本,在我第一次加載數據從兩個不同的表,並進一步右外連接兩個表,後來我也有兩個不同的st表的數據連接。罰款。但我想看到 的執行步驟,就像在哪一步我的數據加載的方式,我可以注意到時間 需要加載後數據加入步驟的詳細信息,如多少時間是 考慮這些記錄要加入。

基本上我想知道我的豬腳本的哪個部分需要更長的時間運行,所以 這樣我可以進一步優化我的豬腳本。

無論如何,我們可以在腳本中println,並找到哪些步驟已經執行,哪些已經開始執行。

通過jobtracker的詳細信息鏈接我無法獲得太多的信息,只能看到映射器正在運行& reducer正在運行,但腳本的哪個部分正在運行的idealy映射器找不到那個。

例如,對於配置單元作業運行,我們可以在jobtracker詳細信息中看到哪些步驟當前正在執行。

任何信息將非常有用。

在此先感謝。

回答

1

我建議你看看以下內容:

;另一方面,在執行腳本之後,你可以看到每個別名的執行時間的詳細統計數據(見:作業統計(以秒爲時間))。

1

看一看EXPLAIN operator。這不會爲您的代碼執行時提供實時統計信息,但它會爲您提供有關腳本生成的MapReduce計劃的足夠信息,以便您可以將MR作業與腳本中的步驟進行匹配。

另外,在腳本運行時,您可以檢查Hadoop作業的配置。看看變量「pig.alias」和「pig.job.feature」。這分別告訴你,你的哪個別名(表/關係)涉及該作業以及正在使用哪些Pig操作(例如,HASH_JOIN用於步驟JOIN步驟,SAMPLER或ORDER BY用於ORDER BY步驟,等等)。此信息也可用於完成後輸出到控制檯的作業統計信息。

+0

非常感謝你,我會進一步嘗試上述選項。 – user1278493 2013-03-18 06:03:21

+0

我不敢相信我之前沒有找到EXPLAIN運算符!另請參閱ILLUSTRATE命令。 http://pig.apache.org/docs/r0.14.0/test.html – Arel 2015-05-02 20:40:19