软件工程最佳实践笔记本
本文提供了一个实践介绍,演示了如何将软件工程最佳实践应用到砖笔记本,包括版本控制、代码共享、测试和可选的持续集成和持续交付或部署(CI / CD)。
在这个介绍,你会:
添加笔记本砖回购的版本控制。
提取的部分代码从一个笔记本变成一个可共享的模块。
测试共享代码。
运行笔记本从砖的工作。
有选择地应用CI / CD共享代码。
需求
为了完成这个场景,您必须提供以下资源:
一个远程存储库Git提供者砖支持。本文介绍使用GitHub。这个介绍假定你有一个GitHub库命名
best-notebooks
可用。(您可以给您的存储库一个不同的名称。如果你这样做,替换best-notebooks
回购的名字和你在这介绍)。创建一个GitHub回购如果你不已经有一个了。请注意
如果你创建一个新的回购,一定要初始化库至少有一个文件,例如
自述
文件。一个砖通用的集群在工作区中。笔记本电脑运行在设计阶段,你把笔记本电脑运行的通用集群。后来,这个介绍使用砖工作自动化运行集群上的笔记本电脑。(你也可以运行工作工作的集群乔布斯的一生中只存在。)创建一个通用的集群如果你不已经有一个了。
请注意
处理文件数据砖回购,参与集群必须安装砖运行时的8.4或更高。砖建议这些集群拥有最新的长期支持(LTS)版本安装,运行时10.4 LTS砖。
步骤1:设置砖回购
在这个步骤中,您连接现有的GitHub回购在现有数据砖砖回购的工作区。
让您的工作区连接到GitHub回购,你必须首先为您的工作区提供GitHub凭证,如果你没有这样做了。
步骤1.1:提供您的GitHub凭证
点击你的用户名在右上角的工作区,然后单击用户设置下拉列表中。
在用户设置页面,点击Git集成。
在Git集成选项卡,Git提供者中,选择GitHub。
为Git供应商用户名或电子邮件GitHub,输入您的用户名。
为令牌,输入您的GitHub个人访问令牌(经典)。这种个人访问令牌(经典)必须有回购和工作流权限。
点击保存。
步骤1.2:连接到GitHub回购
在侧边栏数据科学与工程或砖机器学习环境中,点击回购。
在回购窗格中,单击添加回购。
在添加回购对话框:
点击克隆远程Git存储库。
为Git存储库URL,输入GitHub克隆与HTTPSGitHub回购的URL。本文假设您的URL结尾
best-notebooks.git
例如,https://github.com/ < your-GitHub-username > / best-notebooks.git
。在旁边的下拉列表Git存储库URL中,选择GitHub。
离开回购的名字设置为您的回购的名称,例如
best-notebooks
。点击创建。
步骤2:导入和运行笔记本
在这个步骤中,您现有的外部笔记本导入你的回购。你可以创建自己的笔记本预排,但加快速度,我们提供给你。
步骤2.1:创建一个回购工作分支
在这个步骤中,您创建一个分支eda
在你的回购。这种能力使您工作文件和代码独立于你的回购主要
分支机构,这是一个软件工程最佳实践。(你可以给你的分支一个不同的名称。)
请注意
在某些回购,主要
分支可能被命名为主
代替。如果是这样,取代主要
与主
在这个介绍。
提示
如果你不熟悉在Git分支工作,明白了Git分支,分支简而言之在Git网站上。
如果回购面板不显示,然后在侧边栏数据科学与工程或砖机器学习环境中,点击回购。
如果你连接到的回购在前面的一步是不显示的回购窗格,然后选择您的工作区用户名和选择您连接到回购的名字在前面的步骤。
单击下拉箭头回购的名字,然后点击Git。
在best-notebooks对话框中,单击+(创建分支)按钮。
请注意
如果你的回购以外有一个名字
best-notebooks
这个对话框的标题会有所不同,这里,在这个介绍。输入
eda
然后按回车键。关闭该对话框。
步骤2.2:笔记本导入回购
在这个步骤中,您现有的笔记本从另一个回购导入你的回购。这个笔记本做以下:
CSV文件的副本owid / covid-19-dataGitHub库到集群的工作区中。这个CSV文件包含公众对COVID-19住院和重症监护指标的数据来自世界各地。
过滤数据只包含指标从美国。
显示数据的阴谋。
对熊猫API执行数据清理DataFrame火花。
熊猫API在火花DataFrame写道差值表在你的工作空间。
显示了三角洲表的内容。
虽然你可以创建自己的笔记本在你的回购,导入现有笔记本相反有助于加快这个介绍。在这个分支创建一个笔记本或移动现有的笔记本到这个分支而不是导入一个笔记本,看到的工作区文件基本用法。
在回购回购窗格中,单击下拉箭头回购的名字,然后点击创建>文件夹。
在新文件夹名称对话框中,输入
笔记本电脑
,然后单击创建文件夹。在回购窗格中,单击回购的名称,单击旁边的下拉箭头笔记本电脑文件夹,然后单击进口。
在进口笔记本电脑对话框:
为进口的中,选择URL。
输入的原始内容的URL
covid_eda_raw
笔记本的砖/ notebook-best-practices
在GitHub回购。得到这个网址:单击
笔记本电脑
文件夹中。单击
covid_eda_raw.py
文件。点击生。
复制完整的URL从web浏览器的地址栏进口笔记本电脑对话框。
请注意
的进口笔记本电脑对话框使用Git公共存储库url。
点击进口。
第五步:创建一个工作运行笔记本
在前面的步骤,你测试你的共享代码手动和手动跑你的笔记本。在这个步骤中,您使用一个砖工作自动测试共享代码和运行您的笔记本,按需或定期。
步骤5.1:创建工作任务运行测试笔记本
在侧边栏数据科学与工程或砖机器学习环境中,点击工作流。
在工作选项卡上,单击创建工作。
为添加一个名称为您的工作(这是旁边运行和任务标签),输入
covid_report
。为任务名称,输入
run_notebook_tests
。为类型中,选择笔记本。
为源中,选择Git。
点击添加一个git参考。
在Git信息对话框:
为Git存储库URL,输入GitHub克隆与HTTPSGitHub回购的URL。本文假设您的URL结尾
best-notebooks.git
例如,https://github.com/ < your-GitHub-username > / best-notebooks.git
。为Git提供者中,选择GitHub。
为Git参考(分支/标记/提交),输入
主要
。旁边Git参考(分支/标记/提交)中,选择分支。
点击确认。
为路径,输入
笔记本/ run_unit_tests
。不添加. py
文件扩展名。为集群,从上一步选择的集群。
点击创建。
请注意
在这个场景中,砖不建议您使用时间表按钮在笔记本中描述创建和管理计划的笔记本工作定期安排工作运行这个笔记本。这是因为计划按钮创建一个工作通过使用最新的工作笔记本在工作区中回购的副本。相反,砖建议你按照前面的说明创建一个使用了最新的工作承诺版本的笔记本回购。
步骤5.2:创建工作任务运行主要的笔记本
单击+(你的工作在这里添加更多的任务)图标。
为任务名称,输入
run_main_notebook
。为类型中,选择笔记本。
为路径,输入
笔记本/ covid_eda_modular
。不添加. py
文件扩展名。为集群,从上一步选择的集群。
点击创建任务。
步骤5.3运行工作
点击现在运行。
在弹出窗口中,单击查看运行。
请注意
如果弹出消失得太快,然后执行以下操作:
在侧边栏数据科学与工程或砖机器学习环境中,点击工作流。
在工作运行选项卡上,单击开始时间最新的工作价值covid_report在工作列。
的工作结果,点击run_notebook_tests瓷砖,run_main_notebook瓷砖,或两者兼而有之。每个瓷砖上的结果是一样的,如果你自己的笔记本,一个接一个。
请注意
这个工作需跑去。设置这个工作定期运行,明白了添加一个工作进度表。
(可选)第六步:设置回购测试代码和运行笔记本自动每次代码更改
在前面的步骤中,您使用一个工作自动测试您的共享代码和运行您的笔记本电脑在一个时间点或经常性。然而,你可能更喜欢触发测试时自动更改合并到GitHub回购。您可以执行自动化用CI / CD平台等bob体育客户端下载GitHub的行为。
步骤6.1:建立GitHub访问您的工作区
在这个步骤中,您建立了一个GitHub操作工作流运行的工作只要更改合并到您的存储库工作区中。你这样做给GitHub独特的砖为访问令牌。
出于安全原因,砖不鼓励你给你的砖工作区GitHub用户的个人访问令牌。说明,请参阅GCP部分的运行砖笔记本GitHub的行动页面在GitHub的市场行为。
重要的
笔记本电脑运行的所有工作空间权限的身份令牌,所以砖建议使用一个服务主体。如果你真的想给你的砖工作区为个人用户的个人访问令牌GitHub勘探目的,你明白,出于安全考虑,砖不鼓励这种做法,看到指示创建工作区中用户的个人访问令牌。
步骤6.2:添加GitHub行动工作流
在这个步骤中,您添加一个GitHub操作工作流运行run_unit_tests
笔记本电脑只要有拉力要求回购。
这个分步存储GitHub操作工作流的文件存储在多个文件夹级别GitHub回购。GitHub的行动需要一个特定的嵌套文件夹层次结构存在于你的回购为了正常工作。要完成这一步,您必须使用GitHub回购的网站,因为砖回购的用户界面不支持创建嵌套文件夹层次结构。
在GitHub回购的网站,单击代码选项卡。
在切换分支或标签下拉列表中,选择主要,如果尚未选中。
如果切换分支或标签下拉列表不显示找到或创建一个分支框中,单击主要一次。
在找到或创建一个分支框中,输入
adding_github_actions
。点击创建分支:adding_github_actions从“主”。
点击添加文件>创建新文件。
为命名您的文件,输入
.github /工作流/ databricks_pull_request_tests.yml
。在编辑器窗口中,输入以下代码。这段代码使用声明pull_request钩使用运行砖笔记本GitHub的行动运行
run_unit_tests
笔记本。在以下代码中,替换:
的名字:运行测试pre-merge数据砖在:pull_request:env:#这个值替换为您的工作区实例名。DATABRICKS_HOST:https:// < your-workspace-instance-name >工作:unit-test-notebook:运行在:ubuntu-latesttimeout-minutes:15步骤:- - - - - -的名字:检验回购使用:行动/ checkout@v2- - - - - -的名字:运行测试笔记本使用:砖/ run-notebook@main与:databricks-token:< your-access-token >local-notebook-path:笔记本/ run_unit_tests.pyexisting-cluster-id:< your-cluster-id >git-commit:“$ {{github.event.pull_request.head.sha}}”#授予所有用户视图允许在笔记本的结果,这样他们就可以#看笔记本的结果,如果他们有相关的访问权限。access-control-list-json:>({“group_name”:“用户”,:“permission_level CAN_VIEW”}]run-name:“EDA转换助手模块单位测试”
选择直接提交到adding_github_actions分支。
点击提交修改。
在代码选项卡上,单击比较&拉请求,然后创建提取请求。
在拉请求页面,等待图标旁边运行测试pre-merge数据砖/ unit-test-notebook (pull_request)显示一个绿色的复选标记。(它可能会花几分钟的图标出现。)如果有一个红色的X,而不是一个绿色的复选标记,点击细节为了找到原因。如果图标或细节不再显示,点击显示所有检查。
如果出现绿色复选标记,合并请求拉进
主要
分支。