अपाचे सुअर - रनिंग लिपियों
यहाँ इस अध्याय में, हम देखेंगे कि बैच मोड में अपाचे सुअर स्क्रिप्ट को कैसे चलाया जाए।
सुअर स्क्रिप्ट में टिप्पणियाँ
किसी फ़ाइल में स्क्रिप्ट लिखते समय, हम उसमें टिप्पणी शामिल कर सकते हैं जैसा कि नीचे दिखाया गया है।
मल्टी-लाइन टिप्पणियां
हम '/ *' के साथ बहु-पंक्ति टिप्पणियों को शुरू करेंगे, उन्हें '' / '' के साथ समाप्त करेंगे।
/* These are the multi-line comments
In the pig script */
एकल-पंक्ति टिप्पणियाँ
हम '-' के साथ एकल-पंक्ति टिप्पणी शुरू करेंगे।
--we can write single line comments like this.
पिग स्क्रिप्ट को बैच मोड में निष्पादित करना
अपाचे पिग स्टेटमेंट को बैच मोड में निष्पादित करते समय, नीचे दिए गए चरणों का पालन करें।
चरण 1
सभी आवश्यक सुअर लैटिन स्टेटमेंट को एक ही फाइल में लिखें। हम सभी पिग लैटिन स्टेटमेंट्स और कमांड्स को एक फाइल में लिख सकते हैं और इसे सेव कर सकते हैं.pig फ़ाइल।
चरण 2
अपाचे सुअर स्क्रिप्ट निष्पादित करें। आप नीचे दिखाए गए अनुसार शेल (लिनक्स) से सुअर स्क्रिप्ट को निष्पादित कर सकते हैं।
स्थानीय प्रणाली | MapReduce मोड |
---|---|
$ सुअर -x स्थानीय Sample_script.pig | $ सुअर -x मेप्रेडिक Sample_script.pig |
आप इसे नीचे दिए गए अनुसार कमांड कमांड का उपयोग करके ग्रन्ट शेल से निष्पादित कर सकते हैं।
grunt> exec /sample_script.pig
HDFS से एक सुअर स्क्रिप्ट निष्पादित करना
हम एक सुअर स्क्रिप्ट को भी निष्पादित कर सकते हैं जो HDFS में रहती है। मान लीजिए कि नाम के साथ एक सुअर स्क्रिप्ट हैSample_script.pig नामित HDFS निर्देशिका में /pig_data/। हम इसे नीचे दिखाए अनुसार निष्पादित कर सकते हैं।
$ pig -x mapreduce hdfs://localhost:9000/pig_data/Sample_script.pig
उदाहरण
मान लें कि हमारे पास एक फ़ाइल है student_details.txt एचडीएफएस निम्नलिखित सामग्री के साथ।
student_details.txt
001,Rajiv,Reddy,21,9848022337,Hyderabad
002,siddarth,Battacharya,22,9848022338,Kolkata
003,Rajesh,Khanna,22,9848022339,Delhi
004,Preethi,Agarwal,21,9848022330,Pune
005,Trupthi,Mohanthy,23,9848022336,Bhuwaneshwar
006,Archana,Mishra,23,9848022335,Chennai
007,Komal,Nayak,24,9848022334,trivendram
008,Bharathi,Nambiayar,24,9848022333,Chennai
हमारे पास नाम के साथ एक नमूना स्क्रिप्ट भी है sample_script.pig, उसी HDFS निर्देशिका में। इस फ़ाइल में परिचालन और परिवर्तन करने वाले वक्तव्य हैंstudent संबंध, जैसा कि नीचे दिखाया गया है।
student = LOAD 'hdfs://localhost:9000/pig_data/student_details.txt' USING PigStorage(',')
as (id:int, firstname:chararray, lastname:chararray, phone:chararray, city:chararray);
student_order = ORDER student BY age DESC;
student_limit = LIMIT student_order 4;
Dump student_limit;
स्क्रिप्ट का पहला स्टेटमेंट नाम की फाइल में डेटा लोड करेगा student_details.txt नाम के एक रिश्ते के रूप में student।
पटकथा का दूसरा कथन, उम्र के आधार पर, अवरोही क्रम में संबंध के tuples को व्यवस्थित करेगा और इसे स्टोर करेगा student_order।
स्क्रिप्ट का तीसरा स्टेटमेंट पहले 4 ट्यूपल्स को स्टोर करेगा student_order जैसा student_limit।
अंत में चौथा कथन संबंध की सामग्री को खोद देगा student_limit।
अब हम निष्पादित करते हैं sample_script.pig जैसा की नीचे दिखाया गया।
$./pig -x mapreduce hdfs://localhost:9000/pig_data/sample_script.pig
अपाचे सुअर निष्पादित हो जाता है और आपको निम्न सामग्री के साथ आउटपुट देता है।
(7,Komal,Nayak,24,9848022334,trivendram)
(8,Bharathi,Nambiayar,24,9848022333,Chennai)
(5,Trupthi,Mohanthy,23,9848022336,Bhuwaneshwar)
(6,Archana,Mishra,23,9848022335,Chennai)
2015-10-19 10:31:27,446 [main] INFO org.apache.pig.Main - Pig script completed in 12
minutes, 32 seconds and 751 milliseconds (752751 ms)