-1

私は現在、ピッグをPythonに埋め込むことで遊んでいます。ファイルを実行するたびに動作しますが、次のような出力でコマンドラインが詰まります:

*sys-package-mgr*: processing new jar, '/usr/lib/hadoop/lib/hue-plugins-2.3.0-cdh4.3.0.jar'
*sys-package-mgr*: processing new jar, '/usr/lib/hadoop/lib/paranamer-2.3.jar'
*sys-package-mgr*: processing new jar, '/usr/lib/hadoop/lib/avro-1.7.4.jar'
*sys-package-mgr*: processing new jar, '/usr/lib/hadoop/lib/slf4j-api-1.6.1.jar'
*sys-package-mgr*: processing new jar, '/usr/lib/hadoop/lib/commons-configuration-1.6.jar'

コマンドライン入力:

pig embedded_pig_testing.py -p /home/cloudera/Documents/python_testing_config_files/test002_config.cfg

渡されたパラメーターは、テストで使用している一連の変数を含むファイルです。

これらのアクションをコマンドラインに記録しないようにスクリプトを取得する方法はありますか?

4

2 に答える 2

1

Java プログラム/ライブラリへのロギングは、通常、構成または.propertiesファイルによって構成されます。ピッグ用のものがあると確信しています。あなたが探しているものはhttp://svn.apache.org/repos/asf/pig/trunk/conf/pig.propertiesです。

編集:これはJythonに固有のようです。

これを無効にすることがまったく可能かどうかを判断することはできませんでしたが、よりクリーンなものが見つからない限り、ロード段階で単にリダイレクトsys.stderr(またはsys.stdout)することを検討します。.jar

import os
import sys

old_stdout, old_stderr = sys.stdout, sys.stderr
sys.stdout = sys.stderr = open(os.devnull, 'w')

do_init()  # load your .jar's here

sys.stdout, sys.stderr = old_stdout, old_stderr
于 2013-10-01T20:39:16.770 に答える