2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Visual Studio Code + Cline + Databricks extensionを用いたローカル開発環境整備

Last updated at Posted at 2025-01-07

はじめに

本記事では、Visual Studio Codeと2つの拡張機能(ClineおよびDatabricks extension)を用いたDatabricksのローカル開発環境の整備に関する情報や簡単な手順をまとめる。実際の動作イメージは以下GIFの通り。

output_high_quality.gif

環境前提

本記事は以下の環境を前提とする。

  • MacBook Pro (Apple M2 Pro)
    • macOS: Sonoma 14.7.1
  • Visual Studio Code
    • バージョン: 1.96.0
  • AWS CLI (aws --version)
    • aws-cli/2.15.24 Python/3.11.6 Darwin/23.6.0 exe/x86_64 prompt/off
  • Databricks CLI (databricks --version)
    • Databricks CLI v0.224.1
  • pyenv
    • 2.4.11

参考

VS CodeとDatabricksを用いた開発フローについて、以下の記事が分かりやすい。

VS CodeのDatabricks拡張のセットアップ手順について、以下の記事はWindows PCを対象にしたものだが、大変参考になる。

以下のXポストを見て、Clineを使ってみたくなった。

ということで、以下の構成のセットアップ手順のメモをまとめていく。

  1. VS CodeのCline拡張セットアップ
    • Amazon Bedrockを利用
    • Databricksのサンプルノートブックの作成
  2. VS CodeのDatabricks拡張セットアップ
    • Databricks on AWSのワークスペースを作成
    • VS Codeから接続、コードを実行
    • DatabricksワークスペースでGitHubリポジトリの更新

1. VS CodeのCline拡張セットアップ

以下の記事を参考。

Amazon Bedrockの設定

  1. 本記事では、東京リージョン (ap-northeast-1) のClaude 3.5 Sonnet v1 (モデルID anthropic.claude-3-5-sonnet-20240620-v1:0) を利用するため、アクセス許可があることを確認する。ない場合はアクセス許可をリクエストする
  2. 任意のIAMユーザーを作成、IAMポリシーAmazonBedrockFullAccessをアタッチ
  3. 当該IAMユーザーのアクセスキーID、シークレットアクセスキーをダウンロードし、AWS CLIのデフォルトプロファイル (~/.aws/credentials > [default]) に保存する
    • 備考:ClineのSettingsでアクセスキーIDやシークレットアクセスキーの入力が可能なので、AWS CLIのデフォルトプロファイルに保存するかどうかは好みの問題

Clineのインストール

VS CodeのExtensionで、Clineと検索してインストールするだけ。

Clineの設定

歯車アイコンを押し、以下を選択・入力し、[Done]をクリックする。

  • API Provider: AWS Bedrock
  • AWS Region: ap-northeast-1
  • Model: anthropic.claude-3-5-sonnet-20240620-v1:0

AWSの認証情報はAWS CLIのデフォルトプロファイルから読み取るため、アクセスキー/シークレットキー/セッショントークンは空白でOK。
Custom Instructionsは好みの内容を設定する。日本語で返して欲しい場合にはSpeak in Japaneseなどと入れておくと良い。

image.png

Databricksのサンプルノートブックの作成

Auto-approve設定は好み、まずはReadぐらいを設定しておく。Clineでサンプルノートブック作成のタスクを開始する。

Databricksのサンプルノートブックを作成して。displayを実施するだけのシンプルな内容で良いです。

以下のように簡単なノートブックが作成される。ちゃんとファイルの先頭に# Databricks notebook sourceという行が追加されており、Databricksワークスペースにインポートするとノートブックとして認識される。内容も問題ないため[Save]をクリック。

image.png

これでClineのセットアップは完了。

2. VS CodeのDatabricks拡張セットアップ

基本的な流れは以下を参考。

Databricks on AWSワークスペースを作成

テスト用のDatabricksワークスペースをon AWSで作成する。Azure DatabricksやDatabricks on GCPでも手順的には問題ない。

Databricksアカウントコンソールで[ワークスペースを作成]をクリック、任意のワークスペース名などを入力して作成する。

image.png

Databricks CLIにプロファイルを登録

databricks configureを実行、または直接~/.databrickscfgを編集し、ワークスペースURLと認証方式を記載する。

~/.databrickscfgの例
[DEFAULT]
host      = https://example.cloud.databricks.com/
auth_type = databricks-cli

Databricks拡張のインストール

VS CodeのExtensionで、Databricksと検索してインストールするだけ。拡張機能IDはdatabricks.databricks

Databricksプロジェクトの作成

VS Codeの左側メニューにDatabricksのアイコンが追加されるのでクリックし、以下を実施。

  1. [Create a new Databricks Project]をクリック
  2. ワークスペースを聞かれるので[DEFAULT]を選択
  3. 認証方式を聞かれるので[DEFAULT] (Authenticate using OAuth (User to Machine)) を選択
    • ブラウザが開いてAuthenticatedと表示されれば認証成功
  4. 任意のパスを指定

Databricksプロジェクトの作成 (DAB)

上記を実施するとVS CodeのターミナルにDatabricks Asset Bundles (DAB) のInitが表示される。

  1. default-pythonを選択
  2. 任意のプロジェクト名 (my_projectなど)を入力
  3. Include a stub (sample) notebook: [no]を選択
  4. Include a stub (sample) DLT: [no]を選択
  5. Include a stub (sample) Python package: [no]を選択
  6. コマンドパレットで作成したプロジェクト名が表示されるのでクリック、VS Codeがそのプロジェクトを開く

サンプルノートブックをDatabricksプロジェクトに配置

上記で作成したサンプルノートブックをsrcフォルダなどに配置する。

クラスターの設定

以下を実施。

Pythonバージョン確認・アップデート

ターミナルでpyenvでPythonのバージョン確認、3.10未満の場合は新しいものを入れる。

pyenvでのPythonバージョン確認
%pyenv versions      
  system
  3.11.7
* 3.12.3 (set by /Users/hiroyuki.nakazato/.pyenv/version)
pyenvでのPythonインストール
pyenv install --list
pyenv install 3.12.5
pyenv global 3.12.5

Python環境設定

Databricks拡張のコードの実行のPython Environmentの部分がエラーになるので、Pythonの環境を設定する。

  • Create new environment > Venvを選択
  • Python 3.10以上を選択
  • インストールする依存関係でrequirement-dev.txtを選択
  • Databricks拡張の表示でPython Environmentのエラーが解消されていればOK

image.png

image.png

image.png

セルの実行

.pyのノートブックを開くと、[セルの実行]が表示されるのでクリックする。

image.png

ipykernelパッケージのインストールが求められるので、インストールを実施する。

image.png

次の画面のように、Databricksクラスターで実行したセルの結果がVS Codeに表示される。

image.png

以上です。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?