Я ищу лучшие методы для отладки 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?
Любая идея, где это было бы при запуске свиньи в локальном режиме? Журнал свиней содержит только общее сообщение об ошибке, подобное тому, которое у меня есть в сообщении выше. – duber
Файл журнала должен быть сброшен в вашем cwd, например. место, откуда вы начали хрюкать. Вы можете перейти на свою платформу администратора jobtracker, используя ваш ip-порт и порт для работы с работой. Если в локальном и порту по умолчанию это должно быть: http://127.0.0.1:50030/jobtracker.jsp – kevad