我們這樣做的方法就是盡可能多的可重用的代碼打包成一個共同的庫,然後測試它在一英寸的生活單元測試(我傾向於使用unittest門檻降低,但框架最適合您)。這包括將任何用戶定義的函數或火花API函數通過與火花在本地運行單元測試。然後我們在Azure DevOps構建管道(盡管這個使用Github的行為),綁帶,測試,構建,然後部署圖書館磚可以拉的筆記本。理想情況下離開筆記本讀入和寫出數據幀,但是大部分的在圖書館工作。
假設使用筆記本電腦,而不是提交整個工作jar /輪文件。
我做了一篇博客文章單元測試PySpark庫這對任何人都是在線閱讀。
我通常在以下拉庫產品毛羽
flake8
pep8-naming
flake8-docstrings
flake8-bandit
flake8-eradicate
這些線頭,確保命名約定,檢查文檔字符串創建正常,檢查常見的安全問題,並識別代碼注釋掉。我很殘酷的構建和測試失敗,產品毛羽失敗,或覆蓋率低於90%然後然後整個構建失敗。
我還寫了一個自動生成文檔和發布Azure的靜態Web應用程序(身份驗證)所以內部團隊上的任何人都可以使用它。
希望所有幫助