0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Databricks CLI (Windows)にてローカルから Databricks Repos 上にコードを配置する方法

Last updated at Posted at 2023-06-26

概要

Windows 環境の Databricks CLI(versions 0.200) にて、ローカルから Databricks Repos へのコードの同期方法を共有します。通常であれば Git 連携を実施しますが、Git 連携を行えない状況があったため 本記事の検証を検討しました。

次の手順を説明します。

  1. Databricks 環境の準備
  2. Databricks CLI 環境の構築
  3. Databricks CLI による コードの連携

Azure CLI 認証により実行したい場合には、次の記事を参考に本記事の手順を変更してください。

実施手順

1. Databricks 環境の準備

1-1. Databricks Workspace にログイン後、Reposを右クリック -> create -> Folderを選択して、フォルダ(フォルダ名例:databricks_pipelines)を作成する。

image-20230626164354441.png

1-2. 作成したディレクトリ上にて、右側にあるADD -> Repo を選択後、表示されたAdd RepoウィンドウにてCreate repo by cloning a Git Repositoryのチェックを外し、Repository nameに想定の名称(例:db_pipeline_01) を入力 -> Create Repo を選択する。

image-20230626164651868.png

1-3. 空の Repo 領域が作成されたことを確認する。

image-20230626183257095.png

1-4. 右上にある User Settings -> Generate new token --> Generateを選択し、Databricks CLI を利用するための Databricks Token を取得する。

image-20230626165400557.png

2. Databricks CLI 環境の構築

2-1. Releases · databricks/cli (github.com) から、ローカル環境に応じたインストールファイル(Windows(x86)の場合には、 databricks_cli_#.###.#_windows_386.zip)をダウンロードする。

image-20230626163104458.png

引用元:Releases · databricks/cli (github.com)

2-2. ダウンロードファイルの圧縮展開後、所定のディレクトリ(例:C:\databricks_cli)上に展開したファイルを配置を実行する。

image-20230626163158180.png

2-3. PowerShell 起動後、次のコマンドが想定通りに動作することを確認する。

Set-Location -Path C:\databricks_cli
./databricks.exe -v

image-20230626164126058.png

3. Databricks CLI による コードの連携

3-1. Databricks CLI の認証情報の設定

次のコマンドを実行すし、Personal Access Tokenに取得済みの Databricks Token を入力する。host を、Databricks Workspace の URL (例:https://adb-################.#.azuredatabricks.net)に変更する必要あり。

./databricks.exe configure --host {host}

image-20230626180646123.png

3-2. Databricks CLI の認証情報の確認

ユーザーディレクトリ配下(C:\Users\{UserName})にある.databrickscfgファイルを開き、想定通りに設定されていることを確認する。

$UserName = $env:UserName
$Path = "C:\Users\$UserName\"
explorer $Path

image-20230626182231979.png

3-3. Databricks CLI にて Repos を参照できることを確認

./databricks.exe workspace list /Repos/databricks_pipelines

image-20230626171538461.png

3-4. ローカル環境にあるソースコード(例C:\databricks_cli\src上のコード群を配置)を Databricks Repos 上に配置

./databricks.exe workspace import-dir C:\databricks_cli\src /Repos/databricks_pipelines/db_pipeline_01 --overwrite

image-20230626182826857.png

3-5. Databricks Repos 上にファイルがあることを確認

image-20230626182802394.png

3-6. 必要に応じて、.databrickscfgファイルを削除

$UserName = $env:UserName
$Path = "C:\Users\$UserName\"
explorer $Path

課題

課題1. sync コマンドをフォルダ(例/Repos/{folder_name})上に同期できない事象への対応方法

2023 年 6 月 26 日時点で sync コマンドを自分のアカウント以外の Repos ディレクトリに実行すると、エラーとなってしまうため、sync コマンドを利用しないこととしました。

./databricks.exe sync C:\databricks_cli\src /Repos/databricks_pipelines/db_pipeline_01

image-20230626180343630.png

Error: path must be nested under /Users/{user_name} or /Repos/{user_name}
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?