Получение подробного сообщения об ошибке Impyla
Когда я выполняю оператор SQL в Impala с использованием Python/Impyla, я просто получаю исключение с общим сообщением об ошибке, например "Операция в ERROR_STATE". Как получить более подробную информацию об ошибке, которая произошла?
2 ответа
Объект курсора имеет поле _last_operation, которое можно использовать для получения более подробной информации. Например
try:
cur.execute(sql)
except Exception, e:
op = cur._last_operation
abort(400,"ERROR: %s"%op.get_log())
Выход может быть:
Complete (0 out of 0)
Error while flushing Kudu session
Already present: key already present
Вы можете использовать модуль трассировки для вывода всего сообщения об ошибке в консоль:
import traceback
try: something
except: traceback.print_exec()