我目前正在玩将pig嵌入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
传递的参数是一个包含我在测试中使用的一组变量的文件。
有没有办法让脚本不将这些操作记录到命令行?
2条答案
按热度按时间2mbi3lxu1#
登录java程序/库通常通过配置或
.properties
文件。我肯定有一个是给Pig的。你要找的东西是http://svn.apache.org/repos/asf/pig/trunk/conf/pig.properties.编辑:看来这是特定于jython的。
我还不能确定是否有可能禁用它,但除非我能找到更干净的东西,我会考虑简单地重定向
sys.stderr
(或sys.stdout
)在.jar
加载阶段:gywdnpxw2#
此日志来自jython扫描java包以构建缓存供以后使用:https://wiki.python.org/jython/packagescanning
只要您的脚本只使用完整类导入(没有
import x.y.*
通配符),您可以通过python.cachedir.skip
属性:令人沮丧的是,我相信jython将这些消息写入stdout而不是stderr,所以在其他地方安装stderr对您没有帮助。
另一种选择是在pig0.12发布时使用流式python而不是jython。详见pig-2417。