2013-05-18 46 views
9

Sử dụng Apache Phiên bản lợn 0.10.1.21 (được chuyển đổi). Khi tôi thực thi kịch bản lợn, có rất nhiều dòng ghi nhật ký INFO trông giống như sau:Chế độ Pig Batch: cách đặt mức ghi nhật ký để ẩn thông báo nhật ký INFO?

2013-05-18 14:30:12,810 [Thread-28] INFO org.apache.hadoop.mapred.Task - Task 'attempt_local_0005_r_000000_0' done. 
2013-05-18 14:30:18,064 [main] WARN org.apache.pig.tools.pigstats.PigStatsUtil - Failed to get RunningJob for job job_local_0005 
2013-05-18 14:30:18,094 [Thread-31] WARN org.apache.hadoop.mapred.JobClient - No job jar file set. User classes may not be found. See JobConf(Class) or JobConf#setJar(String). 
2013-05-18 14:30:18,114 [Thread-31] INFO org.apache.hadoop.mapreduce.lib.input.FileInputFormat - Total input paths to process : 1 
2013-05-18 14:30:18,254 [Thread-32] INFO org.apache.hadoop.mapred.Task - Using ResourceCalculatorPlugin : [email protected] 
2013-05-18 14:30:18,265 [Thread-32] INFO org.apache.hadoop.mapred.MapTask - io.sort.mb = 10 

Có lệnh SET trong tập lệnh lợn hoặc cờ dòng lệnh để cho phép mức ghi không? Về cơ bản tôi muốn ẩn các thông điệp INFO-xx] INFO. Chỉ hiển thị CẢNH BÁO và L ERI. Tôi đã thử cờ gỡ lỗi dòng lệnh. Rất tiếc, thông báo INFO vẫn hiển thị:

pig -x local -d WARN MyScript.pig 

Hy vọng có giải pháp. Cảm ơn trước sự giúp đỡ nào.

SOLVED: Trả lời by Loran Bendig, set the log4j.properties. Tóm tắt tại đây để thuận tiện

Bước 1: sao chép tệp cấu hình log4j vào thư mục chứa tập lệnh lợn của tôi.

cp /etc/pig/conf.dist/log4j.properties log4j_WARN 

Bước 2: Chỉnh sửa tập tin log4j_WARN và chắc chắn rằng hai dòng sau có mặt

log4j.logger.org.apache.pig=WARN, A 
log4j.logger.org.apache.hadoop = WARN, A 

Bước 3: Chạy lợn kịch bản và hướng dẫn nó để sử dụng log4j tùy chỉnh

pig -x local -4 log4j_WARN MyScript.pig 
+1

Đây có vẻ là câu hỏi trùng lặp: http: //stackoverflow.com/a/16414020 –

+0

@LorandBendig đồng ý, người đó có câu trả lời hay hơn (bởi bạn), nhưng cái này có tiêu đề tốt hơn nhiều để mọi người dễ dàng tìm thấy hơn. – Eli

+0

có thể trùng lặp của [Làm cách nào để ngăn chặn thông tin vô dụng khi sử dụng lệnh DUMP khi sử dụng lệnh grunt qua 'pig -x local'?] (Http://stackoverflow.com/questions/16410489/how-do-i- suppress-the-bloat-of-useless-thông tin-khi-sử dụng-the-dump-command-w) – fxm

Trả lời

0

Bạn có thể ghi đè lên cấu hình nhật ký mặc định (bao gồm các thông báo INFO) như sau:

pig -4 log4j.properties MyScript.pig 
+0

KHÔNG LÀM VIỆC. Tôi đã sao chép log4j.properties ban đầu vào cùng một thư mục so với các tập lệnh lợn. Sau đó, thực hiện kịch bản bằng pig -x local -4 myLog4J Myscript.pig. Có cùng số lượng dòng INFO. Chỉ có [Thread-XX] đã được gỡ bỏ trong các dòng đăng nhập. Điều này xảy ra cho dù log4j.logger.org.apache.pig = WARN, A hoặc log4j.logger.org.apache.pig = ERROR, A – Polymerase

+0

@Lorand Bendig của câu trả lời là một chút ngắn gọn hơn - bạn sẽ cần phải làm nhiều hơn một chút cấu hình cho việc này để làm việc - nhìn vào liên kết của mình ở trên. – seedhead

+0

Tôi đã đọc bài của Lorand nhưng không nhận thấy sự giống nhau về cú pháp (.hadoop vs .pig). Trên thực tế, dòng "log4j.logger.org.apache.hadoop = error, A" phải được thêm vào.Vì lợi ích của sự rõ ràng, tôi sẽ chỉnh sửa bài gốc để bao gồm câu trả lời. Cảm ơn. – Polymerase

0

Bạn cần phải thiết lập rootLogger quá:

log4j.rootLogger=ERROR, A 
log4j.logger.org.apache.pig=ERROR, A 
log4j.logger.org.apache.hadoop = ERROR, A 
+0

', A' làm gì? – vy32

2

thiết lập khác có thể cũng như thế này:

Tạo một file có tên nolog.conf, với các nội dung sau đây

log4j.rootLogger=fatal 

và sau đó chạy lợn như sau

pig -x local -4 nolog.conf 
Các vấn đề liên quan