基于某些条件在databricks笔记本中执行cmd单元

时间:2019-08-20 15:35:37

标签: pyspark apache-spark-sql databricks azure-databricks spark-notebook

我在数据砖中有一个python 3.5笔记本。我需要根据某些条件执行databrick笔记本单元。我没有发现任何可用的功能。

我尝试使用以下代码创建python egg并将其安装在databricks集群中。

def skip(line, cell=None):
'''Skips execution of the current line/cell if line evaluates to True.'''
  if eval(line):
    return

  get_ipython().ex(cell)

def load_ipython_extension(shell):

  '''Registers the skip magic when the extension loads.'''
  shell.register_magic_function(skip, 'line_cell')

def unload_ipython_extension(shell):
  '''Unregisters the skip magic when the extension unloads.'''
  del shell.magics_manager.magics['cell']['skip']

但是当我尝试使用扩展名加载它时     %load_ext skip_cell 它抛出一个错误,提示“该模块不是IPython模块”。任何帮助或建议,表示赞赏。谢谢。

1 个答案:

答案 0 :(得分:1)

Databricks笔记本不是基于Jupyter / IPython的,这就是为什么您看到该错误的原因。

如果您要构建条件工作流,我建议将 Notebook工作流功能与Databricks REST API结合使用。这将使您可以根据条件语句和其他过程的结果来控制程序的流程。

将笔记本视为可以parameterized接受并返回exit values的功能。

例如,请参阅官方文档here

相关问题