Остановить выполнение блокнота Databricks после определенной ячейки

#azure-databricks

#azure-блоки данных

Вопрос:

Я попробовал sys.exit(0)(код Python) и dbutils.notebook.exit() в Databricks notebook. Но оба варианта не сработали. Пожалуйста, предложите любой другой способ остановить выполнение кода после определенной ячейки в Databricks notebook.

Комментарии:

1. вызвать исключение?

2. @AlexOtt Я пробовал это, но это тоже не работает. попробуйте: if(df.shape[0]==0 и df_1.shape[0]==0 и df_2.shape[0]==0): print(‘Остановить исключение здесь’) dbutils.notebook.exit(‘остановить’) else: передать, кроме: print(‘ex’)

3. dbuilts.notebook.exit() используется, когда записная книжка вызывается из другой записной книжки, а не когда она выполняется в интерактивном режиме. Просто используйте raise Exception("exit") вместо этого…

4. @AlexOtt Можете ли вы предоставить код вместо этого. Это будет полезно.

5. Я написал это — это просто наличие raise

Ответ №1:

dbutils.notebook.exit() не работает, потому что вам нужно указать строковый аргумент, без него происходит сбой. Чтобы это сработало, вы должны написать что-то вроде:

 dbutils.notebook.exit("whatever reason to make it stop")
 

Комментарии:

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

Ответ №2:

Просто используйте это. И нажмите на кнопку запустить все ячейки в Databricks notebook. Если условие выполнено, выполнение будет остановлено. Сработало для меня.

if (df.shape[0]==0): dbutils.notebook.exit('stop')