Tutorial Hadoop Pig: Apa itu Apache Pig? Architekstur, Contoh
Kita akan mulai dengan perkenalan dengan Babi
Apa itu Babi Apache?
Pig adalah bahasa pemrograman tingkat tinggi yang berguna untuk menganalisis kumpulan data besar. Babi adalah hasil upaya pengembangan di Yahoo!
Dalam kerangka MapReduce, program perlu diterjemahkan ke dalam serangkaian tahapan Map dan Reduce. Namun, ini bukanlah model pemrograman yang familiar bagi para analis data. Jadi, untuk menjembatani kesenjangan ini, sebuah abstraksi yang disebut Pig dibangun di atas Hadoop.
Apache Pig memungkinkan orang untuk lebih fokus menganalisis kumpulan data massal dan menghabiskan lebih sedikit waktu untuk menulis program Pengurangan Peta. Mirip dengan Babi yang memakan apa saja, Apache Pig bahasa pemrograman dirancang untuk bekerja pada semua jenis data. Itu sebabnya namanya, Babi!

Dalam tutorial Apache Pig pemula ini, Anda akan belajar-
Babi Architekstur
Architekstur Babi terdiri dari dua komponen:
-
babi latin, yang merupakan bahasa
-
Lingkungan waktu proses, untuk menjalankan program PigLatin.
Program Pig Latin terdiri dari serangkaian operasi atau transformasi yang diterapkan pada data masukan untuk menghasilkan keluaran. Operasi ini menggambarkan aliran data yang diterjemahkan ke dalam representasi yang dapat dieksekusi, oleh lingkungan eksekusi Hadoop Pig. Di bawahnya, hasil transformasi ini adalah serangkaian pekerjaan MapReduce yang tidak disadari oleh programmer. Jadi, Pig di Hadoop memungkinkan programmer untuk fokus pada data daripada sifat eksekusi.
PigLatin adalah bahasa yang relatif kaku yang menggunakan kata kunci yang familiar dari pemrosesan data misalnya, Gabung, Grup, dan Filter.
Mode eksekusi:
Pig di Hadoop memiliki dua mode eksekusi:
-
Mode lokal: Dalam mode ini, bahasa Hadoop Pig berjalan dalam satu bahasa FMV dan memanfaatkan sistem file lokal. Mode ini hanya cocok untuk analisis kumpulan data kecil menggunakan Pig di Hadoop
-
Mode Pengurangan Peta: Dalam mode ini, kueri yang ditulis dalam Pig Latin diterjemahkan ke dalam PetaKurangi pekerjaan dan dijalankan pada cluster Hadoop (cluster mungkin semu atau terdistribusi sepenuhnya). Mode MapReduce dengan cluster terdistribusi penuh berguna untuk menjalankan Pig pada kumpulan data besar.
Cara Mengunduh dan Menginstal Pig
Sekarang dalam tutorial Apache Pig ini, kita akan mempelajari cara mengunduh dan menginstal Pig:
Sebelum kita memulai proses sebenarnya, pastikan Anda telah menginstal Hadoop. Ubah pengguna menjadi 'hduser' (id yang digunakan saat konfigurasi Hadoop, Anda dapat beralih ke userid yang digunakan selama konfigurasi Hadoop Anda)
Langkah 1) Unduh rilis stabil terbaru dari Pig Hadoop dari salah satu situs mirror yang tersedia di
http://pig.apache.org/releases.html
Pilih tar.gz (dan tidak src.tar.gz) berkas untuk diunduh.
Langkah 2) Setelah pengunduhan selesai, navigasikan ke direktori yang berisi file tar yang diunduh dan pindahkan tar ke lokasi di mana Anda ingin mengatur Pig Hadoop. Dalam hal ini, kita akan pindah ke /usr/local
Pindah ke direktori yang berisi File Pig Hadoop
cd /usr/local
Ekstrak isi file tar seperti di bawah ini
sudo tar -xvf pig-0.12.1.tar.gz
Langkah 3). memodifikasi ~ / .bashrc untuk menambahkan variabel lingkungan terkait Babi
Open ~ / .bashrc file di editor teks pilihan Anda dan lakukan modifikasi di bawah ini-
export PIG_HOME=<Installation directory of Pig> export PATH=$PIG_HOME/bin:$HADOOP_HOME/bin:$PATH
Langkah 4) Sekarang, sumber konfigurasi lingkungan ini menggunakan perintah di bawah ini
. ~/.bashrc
Langkah 5) Kita perlu mengkompilasi ulang BABI mendukung Hadoop 2.2.0
Berikut adalah langkah-langkah untuk melakukan ini-
Buka direktori home BABI
cd $PIG_HOME
Instal Semut
sudo apt-get install ant
Catatan: Pengunduhan akan dimulai dan akan memakan waktu sesuai kecepatan internet Anda.
Kompilasi ulang BABI
sudo ant clean jar-all -Dhadoopversion=23
Harap dicatat bahwa dalam proses kompilasi ulang ini beberapa komponen diunduh. Jadi, suatu sistem harus terhubung ke internet.
Juga, jika proses ini terhenti di suatu tempat dan Anda tidak melihat gerakan apa pun pada command prompt selama lebih dari 20 menit, lalu tekan ctrl + c dan jalankan kembali perintah yang sama.
Dalam kasus kami, dibutuhkan waktu 20 menit
Langkah 6) Uji Babi instalasi menggunakan perintah
pig -help
Contoh Skrip Babi
Kami akan menggunakan Skrip Babi untuk mengetahui Jumlah Produk yang Terjual di Setiap Negara.
Memasukkan: Kumpulan data masukan kami adalah file CSV, PenjualanJan2009.csv
Langkah 1) Mulai Hadoop
$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh
Langkah 2) Pig in Big Data mengambil file dari HDFS dalam mode MapReduce dan menyimpan hasilnya kembali ke HDFS.
Salin file PenjualanJan2009.csv (disimpan di sistem file lokal, ~/input/SalesJan2009.csv) ke Direktori Beranda HDFS (Hadoop Distributed File System).
Di sini, di contoh Apache Pig ini, file ada di input Folder. Jika file disimpan di lokasi lain, beri nama itu
$HADOOP_HOME/bin/hdfs dfs -copyFromLocal ~/input/SalesJan2009.csv /
Verifikasi apakah suatu file benar-benar disalin atau tidak.
$HADOOP_HOME/bin/hdfs dfs -ls /
Langkah 3) Konfigurasi Babi
Pertama, navigasikan ke $PIG_HOME/conf
cd $PIG_HOME/conf
sudo cp pig.properties pig.properties.original
Open properti babi menggunakan editor teks pilihan Anda, dan tentukan jalur file log menggunakan babi.logfile
sudo gedit pig.properties
Loger akan menggunakan file ini untuk mencatat kesalahan.
Langkah 4) Jalankan perintah 'babi' yang akan memulai prompt perintah Pig yang merupakan kueri Shell Pig interaktif.
pig
Langkah 5)Di command prompt Grunt untuk Pig, jalankan perintah Pig di bawah ini secara berurutan.
— A. Memuat file yang berisi data.
salesTable = LOAD '/SalesJan2009.csv' USING PigStorage(',') AS (Transaction_date:chararray,Product:chararray,Price:chararray,Payment_Type:chararray,Name:chararray,City:chararray,State:chararray,Country:chararray,Account_Created:chararray,Last_Login:chararray,Latitude:chararray,Longitude:chararray);
Tekan Enter setelah perintah ini.
— B. Mengelompokkan data berdasarkan bidang Negara
GroupByCountry = GROUP salesTable BY Country;
— C. Untuk setiap tupel masuk 'Kelompok Berdasarkan Negara', buat string yang dihasilkan dalam bentuk-> Nama Negara: Jumlah produk yang terjual
CountByCountry = FOREACH GroupByCountry GENERATE CONCAT((chararray)$0,CONCAT(':',(chararray)COUNT($1)));
Tekan Enter setelah perintah ini.
— D. Menyimpan hasil Aliran Data pada direktori 'babi_output_penjualan' pada HDFS
STORE CountByCountry INTO 'pig_output_sales' USING PigStorage('\t');
Perintah ini akan memakan waktu beberapa saat untuk dijalankan. Setelah selesai, Anda akan melihat layar berikut
Langkah 6) Hasilnya dapat dilihat melalui antarmuka perintah sebagai,
$HADOOP_HOME/bin/hdfs dfs -cat pig_output_sales/part-r-00000
Hasilnya juga dapat dilihat melalui antarmuka web sebagai-
Hasil melalui antarmuka web-
Open http://localhost:50070/
di browser web.
Sekarang pilih 'Jelajahi sistem file' dan navigasikan ke atas /pengguna/hduser/pig_output_sales
Open bagian-r-00000