在python中嵌入pig。AttributeError:SimplePostStats对象没有属性';isSuccessfull';

在python中嵌入pig。AttributeError:SimplePostStats对象没有属性';isSuccessfull';,python,hadoop,embed,apache-pig,Python,Hadoop,Embed,Apache Pig,在运行内嵌在python脚本中的pig时遇到python错误。已解决问题,但想知道是否有其他人遇到此错误 场景:a)带有pig的Python脚本如下所示 pigRun = Pig.compileFromFile(self.settingsReader.getScriptsDir() + "/" + script.name) params = { 'datefrom': '2012-08-04 00:00:00', 'dateto': '2012-12-05 00:00:00',

在运行内嵌在python脚本中的pig时遇到python错误。已解决问题,但想知道是否有其他人遇到此错误

场景:a)带有pig的Python脚本如下所示

pigRun = Pig.compileFromFile(self.settingsReader.getScriptsDir() + "/" + script.name)
params = { 'datefrom': '2012-08-04 00:00:00', 'dateto': '2012-12-05 00:00:00', 
       'parallelism':self.settingsReader.getParallelism(), 
       'input' : script.input, 'output':script.output}
        bound = pigRun.bind(params)
        stats=bound.runSingle()
        if not stats.isSuccessfull():
          raise 'failed'
b) 猪的版本是0.10。Python 2.7,Jython 2.5 获取线路上的错误

if not stats.isSuccessfull():
          raise 'failed'
c) 错误如下 AttributeError:'org.apache.pig.tools.pigstats.SimplePostStats'对象没有属性'isSuccessfull'

查看Apache PIG 0.10的源代码后,SimplePostStats似乎在其中实现了issucessfull()。但运行时错误表明不是这样

临时解决方案:将故障检查代码更改如下

bound = pigRun.bind(params)
stats= bound.runSingle()
     if stats.getReturnCode() != 0:
        raise 'failed'

这似乎很有效。

Successful的拼写为“Successful”(一个L)。这是你的问题吗?太棒了。非常感谢你。我没有试过,但肯定是这样。不过有一个问题,我正在与PyDev一起使用eclipse。为什么它没有告诉我这在那个类中不是一个有效的标识符/函数(我像在记事本上一样盲编码)。另外,当我将jython jar添加到eclipse时,它会挂起。Stats类实际上是一个pig-jar内容,我将其作为外部jar/依赖项添加到eclipse项目中。有什么线索吗?我对猪一点都不了解,我只是注意到你的代码中似乎有一个输入错误。这些问题听起来像是不同的问题,你应该为它们写一篇新的stackoverflow帖子。