บทช่วยสอน Hadoop Pig: Apache Pig คืออะไร Archiการสอน, ตัวอย่าง

เราจะเริ่มต้นด้วยการแนะนำหมู

อาปาเช่หมูคืออะไร?

Pig เป็นภาษาโปรแกรมระดับสูงที่มีประโยชน์สำหรับการวิเคราะห์ชุดข้อมูลขนาดใหญ่ Pig เป็นผลมาจากความพยายามในการพัฒนาที่ Yahoo!

ในกรอบงาน MapReduce โปรแกรมจำเป็นต้องแปลเป็นชุดของขั้นตอน Map และ ลด อย่างไรก็ตาม นี่ไม่ใช่โมเดลการเขียนโปรแกรมที่นักวิเคราะห์ข้อมูลคุ้นเคย ดังนั้น เพื่อลดช่องว่างนี้ นามธรรมที่เรียกว่า Pig จึงถูกสร้างขึ้นบน Hadoop

Apache Pig ช่วยให้ผู้คนมีสมาธิมากขึ้น วิเคราะห์ชุดข้อมูลจำนวนมากและใช้เวลาน้อยลงในการเขียนโปรแกรม Map-Reduce คล้ายกับหมูที่กินอะไรก็ได้ หมูอาปาเช่ ภาษาโปรแกรม ได้รับการออกแบบมาเพื่อทำงานกับข้อมูลทุกประเภท นั่นเป็นเหตุผลว่าทำไมชื่อหมู!

นั่นเป็นเหตุผลว่าทำไมชื่อหมู!
นั่นเป็นเหตุผลว่าทำไมชื่อหมู!

ในบทช่วยสอน Apache Pig สำหรับผู้เริ่มต้นนี้ คุณจะได้เรียนรู้-

หมู Archiเทคเจอร์

เหตุการณ์ Archiโครงสร้างหมูประกอบด้วยสององค์ประกอบ:

  1. หมูละติน ซึ่งเป็นภาษา
  2. สภาพแวดล้อมรันไทม์ สำหรับการรันโปรแกรม PigLatin

โปรแกรม Pig Latin ประกอบด้วยชุดการดำเนินการหรือการแปลงที่นำไปใช้กับข้อมูลอินพุตเพื่อสร้างผลลัพธ์ การดำเนินการเหล่านี้อธิบายการไหลของข้อมูลซึ่งถูกแปลเป็นการแสดงที่สามารถทำงานได้โดยสภาพแวดล้อมการดำเนินการของ Hadoop Pig ผลลัพธ์ของการแปลงเหล่านี้คือชุดงาน MapReduce ที่โปรแกรมเมอร์ไม่ทราบ ดังนั้น ในทางหนึ่ง Pig ใน Hadoop ช่วยให้โปรแกรมเมอร์สามารถมุ่งเน้นไปที่ข้อมูลมากกว่าลักษณะของการดำเนินการ

PigLatin เป็นภาษาที่ค่อนข้างแข็งซึ่งใช้คำสำคัญที่คุ้นเคยจากการประมวลผลข้อมูล เช่น เข้าร่วม จัดกลุ่ม และกรอง

บทช่วยสอน Hadoop PIG: บทนำ การติดตั้ง และตัวอย่าง
หมู Archiเทคเจอร์

โหมดการดำเนินการ:

Pig ใน Hadoop มีโหมดการดำเนินการสองโหมด:

  1. โหมดท้องถิ่น: ในโหมดนี้ ภาษา Hadoop Pig จะทำงานในภาษาเดียว JVM และใช้ประโยชน์จากระบบไฟล์ในเครื่อง โหมดนี้เหมาะสำหรับการวิเคราะห์ชุดข้อมูลขนาดเล็กโดยใช้ Pig ใน Hadoop เท่านั้น
  2. โหมดลดขนาดแผนที่: ในโหมดนี้ ข้อความค้นหาที่เขียนเป็นภาษา Pig Latin จะถูกแปลเป็น แผนที่ลด งานและทำงานบนคลัสเตอร์ Hadoop (คลัสเตอร์อาจเป็นแบบหลอกหรือแบบกระจายเต็มรูปแบบ) โหมด MapReduce ที่มีคลัสเตอร์แบบกระจายเต็มรูปแบบนั้นมีประโยชน์ในการเรียกใช้ Pig บนชุดข้อมูลขนาดใหญ่

วิธีดาวน์โหลดและติดตั้ง Pig

ในบทช่วยสอน Apache Pig นี้ เราจะได้เรียนรู้วิธีดาวน์โหลดและติดตั้ง Pig:

ก่อนที่เราจะเริ่มกระบวนการจริง ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Hadoop แล้ว เปลี่ยนผู้ใช้เป็น 'hduser' (รหัสที่ใช้ขณะกำหนดค่า Hadoop คุณสามารถสลับเป็นรหัสผู้ใช้ที่ใช้ในระหว่างการกำหนดค่า Hadoop ของคุณ)

บทช่วยสอน Hadoop PIG: บทนำ การติดตั้ง และตัวอย่าง

ขั้นตอน 1) ดาวน์โหลด Pig Hadoop รุ่นล่าสุดที่เสถียรจากไซต์มิเรอร์แห่งใดแห่งหนึ่งที่มีให้ที่

http://pig.apache.org/releases.html

บทช่วยสอน Hadoop PIG: บทนำ การติดตั้ง และตัวอย่าง

เลือก tar.gz (และไม่ src.tar.gz) ไฟล์ที่จะดาวน์โหลด

ขั้นตอน 2) เมื่อการดาวน์โหลดเสร็จสิ้น ให้ไปที่ไดเร็กทอรีที่มีไฟล์ tar ที่ดาวน์โหลดมา และย้าย tar ไปยังตำแหน่งที่คุณต้องการติดตั้ง Pig Hadoop ในกรณีนี้ เราจะย้ายไปที่ /usr/local

บทช่วยสอน Hadoop PIG: บทนำ การติดตั้ง และตัวอย่าง

ย้ายไปยังไดเร็กทอรีที่มีไฟล์ Pig Hadoop

cd /usr/local

แยกเนื้อหาของไฟล์ tar ดังต่อไปนี้

sudo tar -xvf pig-0.12.1.tar.gz

บทช่วยสอน Hadoop PIG: บทนำ การติดตั้ง และตัวอย่าง

ขั้นตอนที่ 3). แก้ไข ~ / .bashrc เพื่อเพิ่มตัวแปรสภาพแวดล้อมที่เกี่ยวข้องกับ Pig

จุดเปิด ~ / .bashrc ไฟล์ในโปรแกรมแก้ไขข้อความที่คุณเลือกและทำการแก้ไขด้านล่าง -

export PIG_HOME=<Installation directory of Pig>
export PATH=$PIG_HOME/bin:$HADOOP_HOME/bin:$PATH

บทช่วยสอน Hadoop PIG: บทนำ การติดตั้ง และตัวอย่าง

ขั้นตอน 4) ตอนนี้ให้กำหนดค่าสภาพแวดล้อมนี้โดยใช้คำสั่งด้านล่าง

. ~/.bashrc

บทช่วยสอน Hadoop PIG: บทนำ การติดตั้ง และตัวอย่าง

ขั้นตอน 5) เราจำเป็นต้องคอมไพล์ใหม่ หมู ที่ให้การสนับสนุน ฮาดูป 2.2.0

นี่คือขั้นตอนในการทำเช่นนี้-

ไปที่โฮมไดเร็กตอรี่ของ PIG

cd $PIG_HOME

ติดตั้ง Ant

sudo apt-get install ant

บทช่วยสอน Hadoop PIG: บทนำ การติดตั้ง และตัวอย่าง

หมายเหตุ: การดาวน์โหลดจะเริ่มขึ้นและจะใช้เวลาตามความเร็วอินเทอร์เน็ตของคุณ

คอมไพล์ PIG อีกครั้ง

sudo ant clean jar-all -Dhadoopversion=23

บทช่วยสอน Hadoop PIG: บทนำ การติดตั้ง และตัวอย่าง

โปรดทราบว่าในกระบวนการคอมไพล์ใหม่นี้ มีการดาวน์โหลดส่วนประกอบหลายรายการ ดังนั้นระบบควรเชื่อมต่อกับอินเทอร์เน็ต

นอกจากนี้ ในกรณีที่กระบวนการนี้ค้างอยู่ที่ใดที่หนึ่งและคุณไม่เห็นความเคลื่อนไหวใด ๆ ใน command prompt เป็นเวลานานกว่า 20 นาที ให้กด ctrl + c และรันคำสั่งเดิมอีกครั้ง

ในกรณีของเรา ใช้เวลา 20 นาที

บทช่วยสอน Hadoop PIG: บทนำ การติดตั้ง และตัวอย่าง

ขั้นตอน 6) ทดสอบไฟล์ หมู การติดตั้งโดยใช้คำสั่ง

pig -help

บทช่วยสอน Hadoop PIG: บทนำ การติดตั้ง และตัวอย่าง

ตัวอย่างสคริปต์หมู

เราจะใช้ Pig Scripts เพื่อค้นหาจำนวนผลิตภัณฑ์ที่ขายในแต่ละประเทศ

Input: ชุดข้อมูลอินพุตของเราเป็นไฟล์ CSV ยอดขายมกราคม 2009.csv

ขั้นตอน 1) เริ่ม Hadoop

$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh

ขั้นตอน 2) Pig ใน Big Data นำไฟล์มาจาก เอชดีเอฟเอส ในโหมด MapReduce และจัดเก็บผลลัพธ์กลับไปยัง HDFS

คัดลอกไฟล์ ยอดขายมกราคม 2009.csv (เก็บไว้ในระบบไฟล์ในเครื่อง ~/input/SalesJan2009.csv) ไปยังโฮมไดเร็กทอรี HDFS (Hadoop Distributed File System)

ในตัวอย่าง Apache Pig นี้ ไฟล์อยู่ในโฟลเดอร์อินพุต หากไฟล์ถูกจัดเก็บไว้ในตำแหน่งอื่น ให้ระบุชื่อนั้น

$HADOOP_HOME/bin/hdfs dfs -copyFromLocal ~/input/SalesJan2009.csv /

บทช่วยสอน Hadoop PIG: บทนำ การติดตั้ง และตัวอย่าง

ตรวจสอบว่าไฟล์ถูกคัดลอกจริงหรือไม่

$HADOOP_HOME/bin/hdfs dfs -ls /

บทช่วยสอน Hadoop PIG: บทนำ การติดตั้ง และตัวอย่าง

ขั้นตอน 3) การกำหนดค่าหมู

ขั้นแรก ไปที่ $PIG_HOME/conf

cd $PIG_HOME/conf
sudo cp pig.properties pig.properties.original

บทช่วยสอน Hadoop PIG: บทนำ การติดตั้ง และตัวอย่าง

จุดเปิด หมูคุณสมบัติ ใช้โปรแกรมแก้ไขข้อความที่คุณเลือก และระบุเส้นทางไฟล์บันทึกโดยใช้ pig.logfile

sudo gedit pig.properties

บทช่วยสอน Hadoop PIG: บทนำ การติดตั้ง และตัวอย่าง

Loger จะใช้ไฟล์นี้เพื่อบันทึกข้อผิดพลาด

ขั้นตอน 4) เรียกใช้คำสั่ง 'pig' ซึ่งจะเริ่มพรอมต์คำสั่ง Pig ซึ่งเป็นคำสั่งเชลล์ Pig แบบโต้ตอบ

pig

บทช่วยสอน Hadoop PIG: บทนำ การติดตั้ง และตัวอย่าง

ขั้นตอน 5)ในพรอมต์คำสั่ง Grunt สำหรับ Pig ให้ดำเนินการด้านล่างคำสั่ง Pig ตามลำดับ

— A. โหลดไฟล์ที่มีข้อมูล

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);

กด Enter หลังจากคำสั่งนี้

บทช่วยสอน Hadoop PIG: บทนำ การติดตั้ง และตัวอย่าง

— B. จัดกลุ่มข้อมูลตามประเทศภาคสนาม

GroupByCountry = GROUP salesTable BY Country;

บทช่วยสอน Hadoop PIG: บทนำ การติดตั้ง และตัวอย่าง

— C. สำหรับแต่ละทูเพิลใน 'กลุ่มตามประเทศ'สร้างสตริงผลลัพธ์ของแบบฟอร์ม -> ชื่อประเทศ: จำนวนผลิตภัณฑ์ที่ขาย

CountByCountry = FOREACH GroupByCountry GENERATE CONCAT((chararray)$0,CONCAT(':',(chararray)COUNT($1)));

กด Enter หลังจากคำสั่งนี้

บทช่วยสอน Hadoop PIG: บทนำ การติดตั้ง และตัวอย่าง

— D. เก็บผลลัพธ์ของ Data Flow ไว้ในไดเร็กทอรี 'pig_output_sales' บน HDFS

STORE CountByCountry INTO 'pig_output_sales' USING PigStorage('\t');

บทช่วยสอน Hadoop PIG: บทนำ การติดตั้ง และตัวอย่าง

คำสั่งนี้อาจใช้เวลาสักครู่ในการดำเนินการ เมื่อดำเนินการเสร็จแล้ว คุณจะเห็นหน้าจอต่อไปนี้

บทช่วยสอน Hadoop PIG: บทนำ การติดตั้ง และตัวอย่าง

ขั้นตอน 6) ผลลัพธ์สามารถเห็นได้ผ่านส่วนต่อประสานคำสั่งเป็น

$HADOOP_HOME/bin/hdfs dfs -cat pig_output_sales/part-r-00000

บทช่วยสอน Hadoop PIG: บทนำ การติดตั้ง และตัวอย่าง

สามารถดูผลลัพธ์ได้ผ่านทางเว็บอินเตอร์เฟสเช่นกัน

ผลลัพธ์ผ่านเว็บอินเตอร์เฟส-

จุดเปิด http://localhost:50070/ ในเว็บเบราว์เซอร์

บทช่วยสอน Hadoop PIG: บทนำ การติดตั้ง และตัวอย่าง

ตอนนี้เลือก 'เรียกดูระบบไฟล์' และนำทางขึ้นไป /ผู้ใช้/hduser/pig_output_sales

บทช่วยสอน Hadoop PIG: บทนำ การติดตั้ง และตัวอย่าง

จุดเปิด ส่วน-r-00000

บทช่วยสอน Hadoop PIG: บทนำ การติดตั้ง และตัวอย่าง