ไม่สามารถแก้ไขข้อผิดพลาด 2017: ข้อผิดพลาดภายในในการสร้างการกำหนดค่างานบน EMR เมื่อเรียกใช้ PIG

ฉันพยายามรันงานง่ายๆ ด้วย Pig บน Amazon EMR เมื่อฉันรันคำสั่งในเชลล์เชิงโต้ตอบ ทุกอย่างทำงานได้ดี แต่เมื่อฉันดำเนินการแบบเดียวกับงานแบทช์ ฉันก็ได้

[หลัก] ข้อผิดพลาด org.apache.pig.tools.grunt.Grunt - ข้อผิดพลาด 2017: ข้อผิดพลาดภายในในการสร้างการกำหนดค่างาน

และการรันสคริปต์ล้มเหลว นี่คือสคริปต์ 7 บรรทัดของฉัน มันเป็นเพียงการคำนวณค่าเฉลี่ยเหนือสิ่งอันดับบิ๊กแกรมของ Google mc คือจำนวนการแข่งขัน และ vc คือจำนวนปริมาณ

bigrams = LOAD 's3n://<<bucket-name>>/gb­bigrams/*' AS (bigram:chararray, year:int, mc:int, vc:int);
grouped_bigrams = group bigrams by bigram;
answer1 = foreach grouped_bigrams generate group, ((DOUBLE) SUM(bigrams.mc))/COUNT(bigrams) AS avg_mc;
sort_answer1 = ORDER answer1 BY avg_mc desc;
answer2 = LIMIT sort_answer1 5;
STORE answer1 INTO 's3n://<bucket-name>/output/bigram/20130409/answer1';
STORE answer2 INTO 's3n://<bucket-name>/output/bigram/20130409/answer2';

ฉันเดาว่าข้อผิดพลาดเกี่ยวข้องกับบางอย่างกับเส้นทาง STORE และ s3 ดังนั้นฉันจึงลองใช้ชุดค่าผสมต่างๆ เช่น การใช้ $OUTPUT, แบ็กสแลช ฯลฯ แต่ยังคงได้รับข้อผิดพลาดเดิม ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก


person Rahul    schedule 11.04.2013    source แหล่งที่มา
comment
รันสคริปต์ทีละบรรทัด (โดยมี DUMP ที่ท้ายแต่ละส่วน) และระบุว่าบรรทัดใดที่คุณล้มเหลว อาจเป็นโหลดของคุณ (สคีมาผิด), ร้านค้า (สิทธิ์ไม่ถูกต้อง), กำลังส่ง, จำนวนวงเล็บไม่ถูกต้อง   -  person Guy    schedule 14.04.2013
comment
เฮ้ @Guy ขอบคุณสำหรับคำตอบของคุณ ปัญหาของฉันได้รับการแก้ไขแล้วจริงๆ ชื่อที่ฝากข้อมูลของฉันในสคริปต์มียัติภังค์ และฉันได้คัดลอกชื่อมาจากไฟล์ pdf เลขฐานสิบหกของยัติภังค์หลังจากวางกลายเป็นโฆษณาแทนที่จะเป็น 2d ซึ่งทำให้สับสน   -  person Rahul    schedule 15.04.2013


คำตอบ (1)


คุณได้ลองใช้ S3 Block File System แทนระบบไฟล์เนทิฟแล้วหรือยัง?

e.g.

s3://<<bucket-name>>/gb­bigrams/*
s3://<bucket-name>/output/bigram/20130409/answer1
person seedhead    schedule 13.04.2013
comment
ใช่ ฉันได้ลองแล้ว แต่ปัญหาอยู่ที่รหัสฐานสิบหกของชื่อที่ฝากข้อมูลของฉัน มันมียัติภังค์ แต่ในขณะที่คัดลอกและวางชื่อ จะมีชื่ออื่นซึ่งตรงข้ามกับชื่อเริ่มต้น - person Rahul; 15.04.2013