我使用 Azure Databricks 以及笔记本和管道进行数据处理。
我对当前的工作流程不满意:
- 在不中断生产的情况下,无法对生产中使用的笔记本进行修改。当我想要开发更新时,我会复制笔记本,更改源代码直到我满意为止,然后用新笔记本替换生产笔记本。
- 我的浏览器不是 IDE!我无法轻松地转到函数定义。我有很多笔记本,如果我想修改甚至只是查看某个函数的文档,我需要切换到定义该函数的笔记本。
- 有没有办法进行高效、系统的测试?
- Git 集成非常简单,但这不是我主要关心的。
很好的问题。绝对不要就地修改您的生产代码。
一种推荐的模式是在工作区中为 dev-staging-prod 保留单独的文件夹。完成开发工作,然后在阶段中运行测试,然后最终升级到生产环境。
您可以使用 Databricks CLI 将笔记本从一个文件夹拉出或推送到另一个文件夹,而不会破坏现有代码。更进一步,您可以将此模式与 git 合并以与版本控制同步。无论哪种情况,CLI 都可以让您以编程方式访问工作区,这将使更新生产作业的代码变得更加容易。
关于您关于 IDE 的第二点 - Databricks 提供数据块连接 https://docs.azuredatabricks.net/dev-tools/databricks-connect.html,它允许您在集群上运行命令时使用 IDE。根据您的痛点,我认为这对您来说是一个很好的解决方案,因为它将使您更清楚地了解您定义的功能等。您还可以通过这种方式编写和运行单元测试。
一旦准备好脚本,您就可以随时将它们作为笔记本导入工作区并将其作为作业运行。另请注意,您可以使用 REST API 将 .py 脚本作为作业运行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)