2012-06-12 9 views
7

में डिबगिंग मैं हडोप/पीआईजी के लिए नया हूं। मेरे पास एक बुनियादी सवाल है।पीआईजी यूडीएफ

क्या हमारे पास पीआईजी यूडीएफ में लॉगिंग सुविधा है? मैंने एक यूडीएफ लिखा है जिसे मुझे सत्यापित करने की आवश्यकता है, मुझे प्रवाह की जांच करने के लिए कुछ कथन लॉग करने की आवश्यकता है। क्या लॉगिंग सुविधा उपलब्ध है? यदि हाँ सुअर लॉग कहां मौजूद हैं?

उत्तर

6

मान लें कि आपका यूडीएफ EvalFunc बढ़ाता है, आप EvalFunc.getLogger() से लौटे गए लॉगर का उपयोग कर सकते हैं। लॉग आउटपुट संबंधित मानचित्र/दृश्य कार्य में दिखाई देना चाहिए जो कि सुअर निष्पादित करता है (यदि नौकरी एक से अधिक चरणों में निष्पादित होती है तो आपको संबंधित लॉग प्रविष्टियों को खोजने के लिए उन्हें चुनना होगा)।

+0

तो मानचित्र में लॉग लॉग फ़ाइल को कम करने के लॉग समाप्त हो जाएंगे? क्या मैं विशेष रूप से एक अलग फ़ाइल में अपना लॉग स्टेटमेंट बना सकता हूं? – Uno

+0

हां वे करेंगे। आप कर सकते हैं, लेकिन फिर आपको उन्हें देखने/एकत्र करने के लिए प्रत्येक कार्य ट्रैकर पर जाना होगा। मुझे लगता है कि आप रिमोट लॉगर को आजमा सकते हैं और कॉन्फ़िगर कर सकते हैं (उदाहरण के लिए डीबी पर लॉगिंग)। –

+0

मुझे निश्चित रूप से पता नहीं है, लेकिन आप PigLogger को आजमा सकते हैं - जो चीजों को क्लाइंट को वापस भेज सकता है। –

2

शायद स्पष्ट है, लेकिन मैं क्लस्टर/छद्मक्लस्टर पर तैनाती से पहले अपने यूडीएफ को स्थानीय मोड में डीबग करने की सलाह देता हूं। इस तरह, आप इसे अपने आईडीई (मेरे मामले में ग्रहण) के अंदर सीधे डीबग कर सकते हैं जो लॉग-डिबगिंग से आसान है।

+0

क्या कोई साइट या कुछ कदम हैं जिन्हें मैं ग्रहण पर शुरू करने के लिए अनुसरण कर सकता हूं। मेरा मतलब है ग्रहण पर सुअर। – Uno

+1

चरणों के साथ किसी साइट के बारे में नहीं पता, लेकिन यह काफी आसान है: अपने मैवेन पोम में हैडऑप-कोर और सुअर निर्भरताएं डालें, और उसके बाद 'org.apache.pig.PigServer' के साथ काम करें। 'सुअर सर्वर का प्रयास करें।रजिस्टरस्क्रिप्ट (resource.getInputStream(), pigScriptParams, null); 'और फिर' PigStats आँकड़े = pigServer.store ("final_output", pigScriptParams.get ("output_folder"), pigStoreFunc) .getStatistics(); ' – ihadanny

संबंधित मुद्दे