軟件工程最佳實踐筆記本
本文提供了一個實踐介紹,演示了如何將軟件工程最佳實踐應用到磚筆記本,包括版本控製、代碼共享、測試和可選的持續集成和持續交付或部署(CI / CD)。
在這個介紹,你會:
添加筆記本磚回購的版本控製。
提取的部分代碼從一個筆記本變成一個可共享的模塊。
測試共享代碼。
運行筆記本從磚的工作。
有選擇地應用CI / CD共享代碼。
需求
為了完成這個場景,您必須提供以下資源:
一個遠程存儲庫Git提供者磚支持。本文介紹使用GitHub。這個介紹假定你有一個GitHub庫命名
best-notebooks
可用。(您可以給您的存儲庫一個不同的名稱。如果你這樣做,替換best-notebooks
回購的名字和你在這介紹)。創建一個GitHub回購如果你不已經有一個了。請注意
如果你創建一個新的回購,一定要初始化庫至少有一個文件,例如
自述
文件。一個磚通用的集群在工作區中。筆記本電腦運行在設計階段,你把筆記本電腦運行的通用集群。後來,這個介紹使用磚工作自動化運行集群上的筆記本電腦。(你也可以運行工作工作的集群喬布斯的一生中隻存在。)創建一個通用的集群如果你不已經有一個了。
請注意
處理文件數據磚回購,參與集群必須安裝磚運行時的8.4或更高。磚建議這些集群擁有最新的長期支持(LTS)版本安裝,運行時10.4 LTS磚。
預排
在這個介紹,你會:
連接現有的GitHub回購磚回購。
添加一個現有筆記本回購,然後運行筆記本第一次。
將一些代碼從筆記本到一個共享模塊。第二次運行筆記本確保筆記本調用共享代碼。
單獨使用一個筆記本測試共享代碼沒有運行第一個筆記本了。
創建一個磚工作自動運行兩個筆記本,按需或定期。
設置回購運行第二個筆記本測試中創建的共享代碼拉請求時回購。
進行拉力要求更改共享代碼,這將觸發自動運行的測試。
下麵的步驟指導您完成這些活動。
步驟
步驟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平台等Beplay体育安卓版本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轉換助手模塊單位測試”
選擇創建一個新的分支提交並開始拉請求。
點擊提出新文件。
單擊把請求選項卡,然後創建請求。
在拉請求頁麵,等待圖標旁邊運行測試pre-merge數據磚/ unit-test-notebook (pull_request)顯示一個綠色的複選標記。(它可能會花幾分鍾的圖標出現。)如果有一個紅色的X,而不是一個綠色的複選標記,點擊細節為了找到原因。如果圖標或細節不再顯示,點擊顯示所有檢查。
如果出現綠色複選標記,合並請求拉進
主要
分支。