2013-12-17 6 views
1

Я ищу лучшие методы для отладки UDF Python.Просмотр сообщения об ошибке в 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 

Я получаю эту ошибку: Backend error : Error executing function

есть в любом случае, чтобы получить сообщение более описательной ошибки? Каковы наилучшие методы для отладки UDF Python?

ответ

0

При взгляде на ваш код я вижу ошибки с отступом, которые могут быть источником проблемы (хотя это может быть связано с вашим сообщением, а не с исходным кодом).

Однако вы можете увидеть более подробный стек ошибок из двух источников: - журналы свиней, обычно в текстовом файле (например: pig_1388770791476.log); - Hadoop job tracker: нажав на соответствующую работу, а затем на убитую задачу, вы увидите ошибки и соответствующий стек.

+0

Любая идея, где это было бы при запуске свиньи в локальном режиме? Журнал свиней содержит только общее сообщение об ошибке, подобное тому, которое у меня есть в сообщении выше. – duber

+1

Файл журнала должен быть сброшен в вашем cwd, например. место, откуда вы начали хрюкать. Вы можете перейти на свою платформу администратора jobtracker, используя ваш ip-порт и порт для работы с работой. Если в локальном и порту по умолчанию это должно быть: http://127.0.0.1:50030/jobtracker.jsp – kevad

Смежные вопросы