How to Implement CI/CD on Databricks With GitHub Actions - The Databricks Blogの翻訳です。
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
データと機械学習(ML)の需要が高まるにつれて、ビジネスサイドは大規模に信頼性のあるデータとAIのワークフローをデプロイできるように、継続的インテグレーション、デプロイメントのプラクティスを導入しています。本日、お使いのCI/CDプロバイダーからMLワークフローのテストとデプロイメントの自動化を容易にするGitHub Actions for Databricksの第一弾を発表します。例えば、プルリクエストにおいてインテグレーションテストを実行したり、mainへのプッシュでMLトレーニングパイプラインを実行することができます。ワークフローを自動化することで、開発者の生産性を改善し、デプロイメントを加速し、エンドユーザーや組織にさらなる価値を提供できるようになります。
GitHub Actions for DatabricksはCI/CDワークフローをシンプルにします
現在、チームはデータとAIワークフローのためのCI/CDパイプラインをセットアップするのに膨大な時間を費やしています。これらCI/CDパイプラインを手組みすることは苦痛を伴うプロセスであり、複数のAPIを組み合わせたり、カスタムプラグインを開発し、それらのパイプラインを維持していく必要があります。GitHub Actions for Databricksは、GitHub ActionsからDatabricksノートブックを実行するシンプルかつ簡単な方法を提供するファーストパーティのアクションです。これらのアクションのリリースによって、Databricksの自動化ワークフローを容易に作成、管理できるようになります。
GitHub Actions for Databricksで何ができるのでしょうか?
我々は、データエンジニアやデータサイエンティストがGitHubから直接ノートブックを実行できるようにする2つの新たなGitHub ActionsをGitHub marketplaceでリリースしました。
さまざまな方法でリポジトリからノートブックを実行するためにこれらのアクションを使用することができます。例えば、以下のタスクを実行するためにこれらを活用することができます。
- 現在のリポジトリからDatabricksノートブックを実行し、完了を待つ。
- 現在のリポジトリとPyPIの依存ライブラリを使用してノートブックを実行する。
- Databricksワークスペースで既存のノートブックを実行する。
- 異なるワークスペースでノートブックを実行する。例えば、ステージング用ワークスペースでノートブックを実行し、プロダクション用ワークスペースでノートブックを実行する。
- あるノートブックの出力を別のノートブックの入力として、複数のノートブックを連続で実行する。
GitHub ActionsのワークフローからDatabricksノートブックを実行するために、どのようにこの新たなアクションを使用するのかを説明するサンプルを以下に示します。
name: Run a notebook in databricks on PRs
on:
pull_request:
jobs:
run-databricks-notebook:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v2
- name: Run a databricks notebook
uses: databricks/run-notebook@v0
with:
local-notebook-path: path/to/my/databricks_notebook.py
databricks-host: https://adb-XXXX.XX.dev.azuredatabricks.net
databricks-token: ${{ secrets.DATABRICKS_TOKEN }}
git-commit: ${{ github.event.pull_request.head.sha }}
new-cluster-json: >
{
"num_workers": 1,
"spark_version": "10.4.x-scala2.12",
"node_type_id": "Standard_D3_v2"
}
GitHub Actions for Databricksを使ってみる
試す準備はできていますか?GitHub Actions for Databricksの詳細と使い方はドキュメント:Continuous integration and delivery on Databricks using GitHub Actionsをご覧ください。