Apache Pig - ตัวดำเนินการวินิจฉัย
loadคำสั่งจะโหลดข้อมูลลงในความสัมพันธ์ที่ระบุใน Apache Pig เพื่อตรวจสอบการดำเนินการของไฟล์Load คุณต้องใช้ไฟล์ Diagnostic Operators. Pig Latin มีตัวดำเนินการวินิจฉัยสี่ประเภทที่แตกต่างกัน -
- ผู้ดำเนินการถ่ายโอนข้อมูล
- อธิบายตัวดำเนินการ
- ตัวดำเนินการคำอธิบาย
- ตัวดำเนินการภาพประกอบ
ในบทนี้เราจะพูดถึงตัวดำเนินการถ่ายโอนข้อมูลของ Pig Latin
Dump Operator
Dumpตัวดำเนินการใช้เพื่อเรียกใช้คำสั่ง Pig Latin และแสดงผลลัพธ์บนหน้าจอ โดยทั่วไปจะใช้สำหรับการดีบัก Purpose
ไวยากรณ์
ด้านล่างนี้เป็นไวยากรณ์ของไฟล์ Dump ตัวดำเนินการ
grunt> Dump Relation_Name
ตัวอย่าง
สมมติว่าเรามีไฟล์ student_data.txt ใน HDFS ที่มีเนื้อหาต่อไปนี้
001,Rajiv,Reddy,9848022337,Hyderabad
002,siddarth,Battacharya,9848022338,Kolkata
003,Rajesh,Khanna,9848022339,Delhi
004,Preethi,Agarwal,9848022330,Pune
005,Trupthi,Mohanthy,9848022336,Bhuwaneshwar
006,Archana,Mishra,9848022335,Chennai.
และเราได้อ่านมันเป็นความสัมพันธ์ student โดยใช้ตัวดำเนินการ LOAD ดังที่แสดงด้านล่าง
grunt> student = LOAD 'hdfs://localhost:9000/pig_data/student_data.txt'
USING PigStorage(',')
as ( id:int, firstname:chararray, lastname:chararray, phone:chararray,
city:chararray );
ตอนนี้ให้เราพิมพ์เนื้อหาของความสัมพันธ์โดยใช้ Dump operator ดังแสดงด้านล่าง
grunt> Dump student
เมื่อคุณดำเนินการข้างต้น Pig Latinมันจะเริ่มงาน MapReduce เพื่ออ่านข้อมูลจาก HDFS มันจะสร้างผลลัพธ์ต่อไปนี้
2015-10-01 15:05:27,642 [main]
INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher -
100% complete
2015-10-01 15:05:27,652 [main]
INFO org.apache.pig.tools.pigstats.mapreduce.SimplePigStats - Script Statistics:
HadoopVersion PigVersion UserId StartedAt FinishedAt Features
2.6.0 0.15.0 Hadoop 2015-10-01 15:03:11 2015-10-01 05:27 UNKNOWN
Success!
Job Stats (time in seconds):
JobId job_14459_0004
Maps 1
Reduces 0
MaxMapTime n/a
MinMapTime n/a
AvgMapTime n/a
MedianMapTime n/a
MaxReduceTime 0
MinReduceTime 0
AvgReduceTime 0
MedianReducetime 0
Alias student
Feature MAP_ONLY
Outputs hdfs://localhost:9000/tmp/temp580182027/tmp757878456,
Input(s): Successfully read 0 records from: "hdfs://localhost:9000/pig_data/
student_data.txt"
Output(s): Successfully stored 0 records in: "hdfs://localhost:9000/tmp/temp580182027/
tmp757878456"
Counters: Total records written : 0 Total bytes written : 0 Spillable Memory Manager
spill count : 0Total bags proactively spilled: 0 Total records proactively spilled: 0
Job DAG: job_1443519499159_0004
2015-10-01 15:06:28,403 [main]
INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLau ncher - Success!
2015-10-01 15:06:28,441 [main] INFO org.apache.pig.data.SchemaTupleBackend -
Key [pig.schematuple] was not set... will not generate code.
2015-10-01 15:06:28,485 [main]
INFO org.apache.hadoop.mapreduce.lib.input.FileInputFormat - Total input paths
to process : 1
2015-10-01 15:06:28,485 [main]
INFO org.apache.pig.backend.hadoop.executionengine.util.MapRedUtil - Total input paths
to process : 1
(1,Rajiv,Reddy,9848022337,Hyderabad) (2,siddarth,Battacharya,9848022338,Kolkata) (3,Rajesh,Khanna,9848022339,Delhi) (4,Preethi,Agarwal,9848022330,Pune) (5,Trupthi,Mohanthy,9848022336,Bhuwaneshwar) (6,Archana,Mishra,9848022335,Chennai)