2013-05-07 36 views
9

Tôi đang làm việc với PigLatin, sử dụng grunt, và mỗi khi tôi 'đổ' các chất liệu, bàn điều khiển của tôi bị lúng túng với blah blah, blah non-info, có cách nào để đè bẹp tất cả những thứ đó không?Làm cách nào để chặn thông tin vô ích khi sử dụng lệnh DUMP khi sử dụng lệnh grunt qua 'pig -x local'?

 
grunt> A = LOAD 'testingData' USING PigStorage(':'); dump A; 

2013-05-06 19: 42: 04.146 [chính] INFO org.apache.pig.tools.pigstats.ScriptState - Pig tính năng sử dụng trong kịch bản: UNKNOWN
2013/05/06 19 : 42: 04,147 [chính] INFO
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompiler - Ngưỡng nối tập tin: 100 lạc quan? sai ...
...
--- khác như 50 dòng của bối cảnh vô dụng clobbering rác ở đây ... cho đến --- ...
...
org.apache.pig .backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - Thành công!

tại của tôi như 4 dòng thông tin tìm kiếm:

 
(daemon,*,1,1,System Services,/var/root,/usr/bin/false) 
(uucp,*,,,/var/spool/uucp,/usr/sbin/uucico) 
(taskgated,*,13,13,Task Gate Daemon,/var/empty,/usr/bin/false) 
(networkd,*,24,24,Network Services,/var/empty,/usr/bin/false) 
(installassistant,*,25,25,/usr/bin/false)
grunt>

---> rõ ràng là nếu nó lỗi, tiền phạt bao nhiêu là thông tin hữu ích, nhưng không phải khi nó về cơ bản các công trình lớn.

+0

Tôi đã thử ở trên, nó không hoạt động ... Tuy nhiên liên kết này hoạt động http: // stackoverflow.com/questions/16627748/pig-batch-mode-how-to-set-logging-level-to-hide-info-log-messages – Rudra

Trả lời

7

Bạn cần đặt thuộc tính log4j. Ví dụ:

$PIG_HOME/conf/pig.properties : 
enable: 
# log4jconf=./conf/log4j.properties 

rename: log4j.properties.template -> log4j.properties 

log4j.properties : 
set info to error: 
log4j.logger.org.apache.pig=info, A 

Bạn cũng có thể thiết lập mức độ khai thác gỗ liên quan Hadoop cũng như:

log4j.logger.org.apache.hadoop = error, A 
+2

Dường như có [lỗi] (https://issues.apache.org/jira/browse/PIG-3275) trong Pig 0.12.0 gây ra lỗi này. – Xaero182

+0

@ Xaero182 Tôi nghĩ rằng 0.12.0 sử dụng logback thay vì log4j.Try thêm tệp JAVA OPT này: -Dlogback.configurationFile =/path/to/your/logback.xml của bạn. – Tony

3

Khi bạn bắt đầu lợn, hãy chuyển nó qua tệp log4j.properties với pig -4 <filename>.

Trong trường hợp của tôi có log4j.properties trong thư mục conf và đặt cấp độ của trình ghi nhật ký có tên org.apache.pig thành ERROR đủ để làm cho trình ghi nhật ký ít chi tiết hơn.

log4j.logger.org.apache.pig=ERROR, A 
6

Một cách dễ dàng để làm điều này có vẻ là để chuyển hướng sai số chuẩn như dưới đây.

Nhưng nó sẽ ngăn chặn tất cả errors.

pig -x local 2> /dev/null 

Cũng thấy rằng nếu bạn loại bỏ hoặc đổi tên thư mục cài đặt hadoop của bạn về cơ bản làm cho nó không thể tiếp cận với lợn thì tất cả những thông điệp INFO biến mất.
Thay đổi mức ghi nhật ký trong hadoop không có tác dụng, chỉ để bạn biết.

+2

Điều này, thẳng thắn, là người duy nhất trả lời câu hỏi trực tiếp và cung cấp một giải pháp đơn giản. Tạo và chỉnh sửa một tập tin log4j.properties không thực sự cắt nó cho tôi. – WattsInABox

+0

Đây là cách tốt nhất cho tôi –

0

lợn có debug mức log một cần phải thiết lập rằng trong pig.properties tập tin,

# Logging level. debug=OFF|ERROR|WARN|INFO|DEBUG (default: INFO) 
# 
# debug=INFO 

Lý do có thể kiếm được các bản ghi lớn trên giao diện điều khiển, ví dụ thay đổi nó thành ERROR

+0

Chúng ta có cần khởi động lại Unix sau thay đổi này không? nó không làm việc cho tôi. Tôi đã cập nhật nó nhưng nó không hoạt động. – lucifer