什么是好的 Databricks 工作流程

Be *_*Too 7 azure azure-databricks

我使用 Azure Databricks 进行数据处理,包括笔记本和管道。

我对当前的工作流程不满意:

  • 生产中使用的笔记本不能在不破坏生产的情况下进行修改。当我想开发更新时,我复制笔记本,更改源代码直到我满意,然后用我的新笔记本替换生产笔记本。
  • 我的浏览器不是 IDE!我不能轻易转到函数定义。我有很多笔记本,如果我想修改甚至只是看一个函数的文档,我需要切换到定义这个函数的笔记本。
  • 有没有办法进行高效和系统的测试?
  • Git 集成非常简单,但这不是我主要关心的问题。

Rap*_*l K 4

很好的问题。绝对不要就地修改您的生产代码。

一种推荐的模式是在工作区中为 dev-staging-prod 保留单独的文件夹。完成开发工作,然后在阶段中运行测试,然后最终升级到生产环境。

您可以使用 Databricks CLI 将笔记本从一个文件夹拉出或推送到另一个文件夹,而不会破坏现有代码。更进一步,您可以将此模式与 git 合并以与版本控制同步。无论哪种情况,CLI 都可以让您以编程方式访问工作区,这将使更新生产作业的代码变得更加容易。

关于关于 IDE 的第二点 - Databricks 提供Databricks Connect,它允许您在集群上运行命令时使用 IDE。根据您的痛点,我认为这对您来说是一个很好的解决方案,因为它将使您更清楚地了解您定义的功能等。您还可以通过这种方式编写和运行单元测试。

一旦准备好脚本,您就可以随时将它们作为笔记本导入工作区并将其作为作业运行。另请注意,您可以使用 REST API 将 .py 脚本作为作业运行。