在Python UDF中查看错误消息

在Python UDF中查看错误消息,python,regex,user-defined-functions,apache-pig,Python,Regex,User Defined Functions,Apache Pig,我正在寻找调试Python UDF的最佳实践 我无法运行此UDF,也无法在日志中显示有值的错误消息 例如,此函数将格式为“DD-MON-YY”的日期作为输入“01-JAN-2013”,并将当天发生的一周返回为“01-JAN-2013”的输出,即一年中的第零周,因此返回值为0 @outputSchema("week_number:int") def week_from_date(input_date): date_to_match = re.match('(\d{2}).?([A-Za-z

我正在寻找调试Python UDF的最佳实践

我无法运行此UDF,也无法在日志中显示有值的错误消息

例如,此函数将格式为“DD-MON-YY”的日期作为输入“01-JAN-2013”,并将当天发生的一周返回为“01-JAN-2013”的输出,即一年中的第零周,因此返回值为0

@outputSchema("week_number:int")
def week_from_date(input_date):
    date_to_match = re.match('(\d{2}).?([A-Za-z]{3}).?(\d{4})', input_date)
    if date_to_match:
        day, month, year = date_to_match.group(1), date_to_match.group(2), date_to_match.group(3)        
        import time
        from time import gmtime, strftime
        d = time.strptime("%s %s %s" % (day, month, year), "%d %b %Y")
       return int(strftime("%U", d))
    else:
            return -1
我收到这个错误:后端错误:执行函数时出错


是否仍然需要获取更具描述性的错误消息?调试Python UDF的最佳实践是什么?

查看您的代码,我发现缩进错误可能是问题的根源,尽管它可能与您的帖子有关,而不是与原始代码有关

但是,您可以从两个来源看到更详细的错误堆栈: -清管器日志,通常位于文本文件中,例如:Pig_1388770791476.log;
-Hadoop作业跟踪器:通过单击相关作业,然后单击终止的任务,可以看到错误和相应的堆栈。

知道在本地模式下运行pig时会出现什么情况吗?Pig日志只包含一条与我在上面帖子中看到的类似的一般错误消息。日志文件应该转储到您的cwd中,例如启动grunt的位置。您可以使用jobtracker ip和端口访问jobtracker管理平台。如果在本地,并且具有默认端口,则应为: