Apache Pig - Menjalankan Skrip
Di sini, di bab ini, kita akan melihat bagaimana menjalankan skrip Apache Pig dalam mode batch.
Komentar di Pig Script
Saat menulis skrip dalam file, kami dapat menyertakan komentar di dalamnya seperti yang ditunjukkan di bawah ini.
Komentar multi-baris
Kami akan memulai komentar banyak baris dengan '/ *', mengakhirinya dengan '* /'.
/* These are the multi-line comments
In the pig script */
Komentar satu baris
Kami akan memulai komentar satu baris dengan '-'.
--we can write single line comments like this.
Menjalankan Skrip Babi dalam mode Batch
Saat menjalankan pernyataan Apache Pig dalam mode batch, ikuti langkah-langkah yang diberikan di bawah ini.
Langkah 1
Tulis semua pernyataan Pig Latin yang diperlukan dalam satu file. Kita dapat menulis semua pernyataan dan perintah Pig Latin dalam satu file dan menyimpannya sebagai.pig mengajukan.
Langkah 2
Jalankan skrip Apache Pig. Anda dapat menjalankan skrip Pig dari shell (Linux) seperti yang ditunjukkan di bawah ini.
Mode lokal | Mode MapReduce |
---|---|
$ babi -x lokal Sample_script.pig | $ pig -x mapreduce Sample_script.pig |
Anda dapat menjalankannya dari shell Grunt juga menggunakan perintah exec seperti yang ditunjukkan di bawah ini.
grunt> exec /sample_script.pig
Menjalankan Skrip Babi dari HDFS
Kami juga dapat menjalankan skrip Pig yang berada di HDFS. Misalkan ada script Pig dengan namaSample_script.pig di direktori HDFS bernama /pig_data/. Kami dapat menjalankannya seperti yang ditunjukkan di bawah ini.
$ pig -x mapreduce hdfs://localhost:9000/pig_data/Sample_script.pig
Contoh
Asumsikan kita memiliki file student_details.txt dalam HDFS dengan konten berikut.
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
Kami juga memiliki contoh skrip dengan nama sample_script.pig, di direktori HDFS yang sama. File ini berisi pernyataan melakukan operasi dan transformasi padastudent relasi, seperti yang ditunjukkan di bawah ini.
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;
Pernyataan pertama dari skrip akan memuat data dalam file bernama student_details.txt sebagai relasi bernama student.
Pernyataan kedua dari skrip akan menyusun tupel relasi dalam urutan menurun, berdasarkan usia, dan menyimpannya sebagai student_order.
Pernyataan ketiga dari skrip akan menyimpan 4 tupel pertama dari student_order sebagai student_limit.
Akhirnya pernyataan keempat akan membuang konten relasi student_limit.
Sekarang mari kita jalankan sample_script.pig seperti gambar dibawah.
$./pig -x mapreduce hdfs://localhost:9000/pig_data/sample_script.pig
Apache Pig dijalankan dan memberi Anda output dengan konten berikut.
(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)