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)