我正在不同Databricks笔记本中转换数据(从ADLS读取,转换和写入)。我在DataFactory管道中选择了这些笔记本:
Notebook 1 --> Notebook 2 --> Notebook 3 --> Notebook
我已经从DataFactory创建了到我的Databricks的连接,并将其添加到我的笔记本活动中。每当管道触发时,我都想启动一个Databricks集群。总的来说,这一切工作正常。但是Databricks为每个笔记本活动启动了一个工作集群,这花了太长时间,对我来说似乎是不必要的。
是否可以在管道的开头启动集群,然后在所有笔记本完成后关闭集群?还是有任何论点认为每个活动都有一个工作集群是很好的?
答案 0 :(得分:2)
当前无法将同一作业集群用于多个笔记本活动。
两个替代选项:
不幸的是,这两个选项都使用了交互式集群-与作业集群相比,它有点贵。
答案 1 :(得分:0)
也有可能的解决方法。您可以从ADF创建和触发带有作业群的“主” Databricks笔记本,它将使用dbutils.notebook.run()命令一一调用具有适当参数的笔记本。
通过这种方式,您可以从工作集群中节省成本,并且它也将立即终止。
请参见本文中的“ https://towardsdatascience.com/building-a-dynamic-data-pipeline-with-databricks-and-azure-data-factory-5460ce423df5”部分-> https://towardsdatascience.com/building-a-dynamic-data-pipeline-with-databricks-and-azure-data-factory-5460ce423df5 >