Мы используем Zeppelin 0.8.0 .При запуске всех абзацев в заметке мы ожидаем, что Zeppelin остановится на первом абзаце, где произошла ошибка.К сожалению, мы обнаружили, что это не относится к интерпретатору %spark.r
: ошибки выводятся на печать, но эффективно игнорируются.
Вот пример использования интерпретатора %spark
, в котором произошла ошибкаисполнение 2-го абзаца (1/0
);следовательно, Zeppelin отображает статус этого абзаца как ошибки и вообще не выполняет 3-й абзац (1+1
).
Теперь посмотритев этом примере используется интерпретатор %spark.r
, в котором произошла ошибка при выполнении второго абзаца (1 + "foo"
).Интерпретатор печатает ошибку;однако, эта ошибка не сообщается на уровне интерпретатора как такового, и в статусе параграфа отображается «ЗАВЕРШЕНО», как если бы выполнение было безошибочным.Следовательно, Zeppelin продолжает выполнять 3-й абзац.
Как мы можем заставить любую ошибку, возникающую при выполнении абзаца %spark.r
, сообщать как «ОШИБКУ» самого абзаца, тем самым предотвращая выполнениепоследующие абзацы, когда мы вызываем «Выполнить все абзацы»?