什么是好的 Databricks 工作流程

2023-12-19

我使用 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(使用前将#替换为@)

什么是好的 Databricks 工作流程 的相关文章

随机推荐

  • 如何拦截对Hash类构造函数的调用?

    我想在调用类 Hash 的构造函数或初始化 Hash 对象时执行一个函数 我已经使用实现了我的目标 class Hash def initialize p Constructor call end end 当 Hash 对象初始化如下时 上
  • iPhone 应用程序启动关闭的分配时间

    iPhone 应用程序 以及可能的其他重要例程 的启动和关闭需要花费多少时间 我的 iPhone 上的程序曾被过于热心的操作系统杀死吗 如果应用程序在 20 秒内没有响应 iPhone 上的看门狗计时器将终止您的应用程序 请注意 Xcode
  • 如何制作 iPython/Jupyter 中内联的 NLTK draw() 树

    对于 iPython Jupyter 中的 Matplotlib 绘图 您可以使笔记本绘图内联 matplotlib inline 如何对树的 NLTK draw 做同样的事情 这是文档http www nltk org api nltk
  • C# 中的多线程目录循环

    我试图循环遍历所有文件和文件夹 并对具有特定扩展名的所有文件执行操作 这种方法工作得很好 但我想使它成为多线程 因为当完成数万个文件时 它真的很慢 我会使用多线程进行成像会加快速度 我只是不确定在这种情况下如何使用线程 doStuff从文件
  • 加载时间:使用 PHP 的 DOMDocument 还是使用正则表达式解析 HTML 更快?

    我正在将图像从我的 Flickr 帐户提取到我的网站 并且我使用了大约九行代码来创建一个用于提取图像的 preg match all 函数 我已经读过好几次了 通过 DOM 解析 HTML 会更好 就我个人而言 我发现通过 DOM 解析 H
  • 向右移动菜单最后一项

    德尔福Xe2U4 主菜单项 文件 选项 帮助 名称 HelpMenuItem 2 个按钮 使用 StyleManager Xe2 在项目选项中启用 xe2 主题 并默认设置 Metro Blue Procedure TForm1 Right
  • 启用 Wi-Fi 时不接收移动状态状态更改事件

    当移动数据启用 禁用时我需要收到通知 为此 我使用 BroadcastReceiver 并注册到 ConnectivityManager CONNECTIVITY ACTION 事件 然而 只有当 Wi Fi 被禁用时才会触发该事件 一旦我
  • 按特定日期名称找出下周时间表的最佳方法

    想象我有一个名为NextSend代表DateTime Value 4 11 2011 10 30 00 AM Monday 假设我有一个必须每周在特定日期发送的时间表 Monday 在这种情况下 为了弄清楚下周的时间表 我最终得到了解决方案
  • 无法使用 Jena 写入大型 owl 文件

    我正在尝试将数据库表中包含的数据转换为一组三元组 因此我正在使用 Jena java 库编写一个 owl 文件 我已经成功地使用少量表记录 100 完成了此操作 这些记录对应于 owl 文件中的近 20 000 行 我对此感到满意 为了编写
  • IIS Windows 身份验证 401 未经授权

    我有一个想要使用 Windows 身份验证的子应用程序 我希望当用户第一次到达该页面时 即使在域中也会弹出登录框 当我关闭内核模式身份验证时 会弹出登录框 但在 3 次登录尝试后失败 并显示错误 401 未授权 如果我打开此功能 它甚至不会
  • ZF2 - 如果路由器匹配多个路由,将调度什么?

    那么 如果我有一个可能与许多路由匹配的 url 该怎么办 哪条路由会获胜 将调度哪个操作 是不是很简单 先定义 先调度 以下是路线示例 route catchall gt array type gt regex options gt arr
  • 作为 PySpark 的 reduceByKey 的键的列表

    我试图对格式的数据调用 pyspark 的 reduceByKey 函数 a b c 1 a b c 1 a d b e 1 看来 pyspark 不会接受数组作为普通键中的键 通过简单地应用 reduceByKey add 来减少值 我已
  • 如何在Java2D中旋转矩形

    我想在方法中旋转一个矩形 但不明白如何做到这一点并尝试如下 private void setBoundaryRotate Rectangle b int radio AffineTransform transform new AffineT
  • Chrome 不允许 HTTP 托管网站访问摄像头和麦克风

    我在用着反应网络摄像头 https github com mozmorris react webcam为应用程序拍摄自拍照 在本地主机上 react webcam 工作得很好 而在 HTTP 托管的网络服务器上 Chrome 上默认拒绝摄像
  • Python:我应该如何使实例变量可用?

    假设我有 class myclass def init self self foo bar 其中 foo 的值需要可供 myclass 的用户使用 直接从 myclass 的实例读取 foo 的值可以吗 我应该向 myclass 添加 ge
  • 打开 RDB 文件失败...只读文件系统

    我正在尝试在我的 redis 实例上执行保存或 bgsave 以运行备份 恢复过程 但是 当我尝试保存时出现错误 532 M 28 Jun 23 58 30 396 Failed opening the RDB file backup rd
  • 使用应用服务和 Azure SQL 的用户分配身份是否有效?

    我正在尝试让应用服务与 Azure Sql 数据库连接 我可以使用相同的代码很好地使用 git 处理系统分配的身份 但我更喜欢使用用户分配的身份 UAI 但我无法让它工作 我所做的步骤 通过门户创建了一个 UAI UAI 的名称为 uai
  • 重新映射 vim :x 来关闭缓冲区,仅当它是最后一个缓冲区时才退出

    I would like to change the x command in Vim so that it closes a buffer unless it is the last buffer then it should behav
  • 清单引用文件“Bing.Maps.dll”,该文件不是有效负载的一部分

    错误 1 清单引用文件 Bing Maps dll 该文件不是有效负载的一部分 C Users xxx Desktop xxx Applicationxx Applicationxx Package appxmanifest Applica
  • 什么是好的 Databricks 工作流程

    我使用 Azure Databricks 以及笔记本和管道进行数据处理 我对当前的工作流程不满意 在不中断生产的情况下 无法对生产中使用的笔记本进行修改 当我想要开发更新时 我会复制笔记本 更改源代码直到我满意为止 然后用新笔记本替换生产笔