我目前正在尝试将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'
命令行输入:
^{pr2}$传递的参数是一个包含我在测试中使用的一堆变量的文件。在
有没有办法让脚本不把这些操作记录到命令行?在
这个日志记录来自jython扫描Java包以构建一个缓存供以后使用:https://wiki.python.org/jython/PackageScanning
只要脚本只使用完整类导入(不使用
import x.y.*
通配符),就可以通过python.cachedir.skip
属性禁用包扫描:令人沮丧的是,我相信jython将这些消息写入stdout而不是stderr,因此将stderr放到其他地方并不能帮助您解决问题。在
另一个选择是在pig0.12发布时使用流式python而不是jython。请参见PIG-2417以获取更多详细信息。在
登录Java程序/库通常是通过配置或
.properties
文件来配置的。我肯定有一个给猪的。你要找的可能是http://svn.apache.org/repos/asf/pig/trunk/conf/pig.properties。在编辑:看起来这是Jython特有的。在
我无法确定是否可以禁用此功能,但除非我能找到更干净的方法,否则我会考虑在
.jar
加载阶段重定向sys.stderr
(或sys.stdout
):相关问题 更多 >
编程相关推荐