Databricks CLI のインストール手順

記事タイトルとURLをコピーする

データドリブンな人間を目指している香取です。

今回はタイトルの通り、Databricks のコマンドラインツールである Databricks CLI をインストールして Databricks ワークスペースに接続するまでの方法を紹介します。

Databricks CLI を使用すると、ターミナルから Databricks ワークスペースを操作でき、ノートブックの管理、ジョブの実行、DBFS の操作など、様々な作業を実行できます。

前提条件

今回の手順を実施した環境は以下の通りです。

  • OS: macOS 15.5 (Sequoia)
  • Databricks CLI バージョン: 0.274.0
  • Databricks ワークスペースは作成済み (Databricks on AWS)

Databricks CLI のインストール

今回は macOS でのインストール手順を紹介しますが、他の OS におけるインストール方法も公式ドキュメントに記載されていますので、そちらを参照してください。

docs.databricks.com

macOS では Homebrew を使って簡単にインストールできます。

brew tap databricks/tap
brew install databricks

インストールが完了したら、バージョンを確認してみます。

$ databricks -v
Databricks CLI v0.274.0

Databricks ワークスペースへの認証設定

Databricks CLI を使用するには、ワークスペースへの認証が必要です。

認証方法にはいくつかありますが、今回は最も推奨される OAuth ユーザー間 (U2M) 認証 を使用します。

OAuth ユーザー間 (U2M) 認証では、対話的にログインすると、CLI がユーザーに代わって有効期間の短いトークンを管理します。

OAuth トークン有効期限は 1 時間以内に終了するため、トークンが誤って公開された場合のリスクが軽減されます。

OAuth トークンを使用した認証

以下のコマンドを実行して、Databricks ワークスペースに認証します。

databricks auth login --host <workspace-url>

アカウント単位で認証を行う場合は以下のコマンドを使用します。

databricks auth login --host <account-console-url> --account-id <account-id>
  • account-console-url : アカウントコンソールの URL
    • 例: https://accounts.cloud.databricks.com/
  • account-id : Databricks アカウントの ID (参考)

コマンド実行後、入力した情報を Databricks 構成プロファイルとして保存するように求められます。

Enter キーを押して提案されたプロファイル名を受け入れるか、新規または既存のプロファイルの名前を入力します。

$ databricks auth login --host https://dbc-12345678-9abc.cloud.databricks.com/
✔ Databricks profile name [dbc-12345678-9abc]: 
Profile dbc-12345678-9abc was successfully saved

コマンドを実行するとブラウザが自動的に開き、Databricks のログイン画面が表示されます。

ログインすると CLI への認証が完了します。

認証プロファイルの確認

認証情報は ~/.databrickscfg ファイルに保存されています。

; The profile defined in the DEFAULT section is to be used as a fallback when no profile is explicitly specified.
[DEFAULT]

[dbc-12345678-9abc]
host      = dbc-12345678-9abc.cloud.databricks.com
auth_type = databricks-cli

複数の Databricks ワークスペースを使用する場合、プロファイルを使い分けることができます。

現在設定されているプロファイル一覧を確認するには、以下のコマンドを実行します。

$ databricks auth profiles
Name               Host                                            Valid
dbc-12345678-9abc  https://dbc-12345678-9abc.cloud.databricks.com  YES

プロファイルの現在の OAuth トークン値とトークンの今後の有効期限のタイムスタンプを表示するには、以下のコマンドを実行します。

databricks auth token --host <workspace-url> -p <profile-name>
$ databricks auth token --host https://dbc-12345678-9abc.cloud.databricks.com/ -p dbc-12345678-9abc
{
  "access_token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "token_type": "Bearer",
  "expiry": "YYYY-MM-DDTXX:XX:XX.XXXXXX+09:00",
  "expires_in": 3600
}%

Databricks CLI の動作確認

認証が完了したら、実際に Databricks CLI を使ってワークスペースの情報を取得してみます。

ワークスペースの情報を取得

現在のユーザー情報を確認してみます。

$ databricks current-user me
{
  "active": true,
  "displayName": "Takuya Kandori",
  "emails": [
    {
      "primary": true,
      "type": "work",
      "value": "xxx@example.com"
    }
  ],
  # 以下略
}

よく使うコマンド

Databricks CLI でよく使用するコマンドをいくつか紹介します。

使用可能な Databricks CLI コマンド一覧は以下のドキュメントに記載されています。

docs.databricks.com

ヘルプの表示

利用可能なコマンドやオプションを確認するには、--help オプションを使用します。

databricks --help
databricks current-user --help

ノートブックの操作

ワークスペースのノートブック一覧を確認する (databricks workspace list)

$ databricks workspace list /Users/xxx@example.com
ID                Type               Language  Path
1234567890123456  DIRECTORY                    /Users/xxx@example.com/sample-folder
2345678901234567  NOTEBOOK           PYTHON    /Users/xxx@example.com/sample-notebook

ワークスペースからノートブックをエクスポートする (databricks workspace export)

databricks workspace export /Users/xxx@example.com/sample-notebook --file ./sample-notebook.py

注意: パスにスペースが含まれる場合は、パス全体をダブルクォートで囲んでください。

databricks workspace export "/Users/xxx@example.com/My Notebook" --file ./my-notebook.py

ローカルのノートブックをワークスペースにインポートする (databricks workspace import)

databricks workspace import /Users/xxx@example.com/sample-notebook --file ./sample-notebook.py --language PYTHON

注意: --language フラグで言語を指定する必要があります。サポートされている言語は PYTHON, R, SCALA, SQL です。

ジョブの操作

ジョブの一覧を確認する (databricks jobs list)

$ databricks jobs list
012345678901234 [xxxxxxxxxxxxxx] Sample Job 1
123456789012345 [xxxxxxxxxxxxxx] Sample Job 2

特定のジョブを実行する (databricks jobs run-now)

databricks jobs run-now --job-id <job-id>

DBFS (Databricks File System) の操作

DBFS 内のファイル一覧を確認する (databricks fs ls)

$ databricks fs ls dbfs:/Volumes/workspace/default/test_volume
test.csv

ローカルファイルを DBFS にアップロードする (databricks fs cp)

databricks fs cp ./local-file.csv dbfs:/Volumes/workspace/default/test_volume

DBFS からローカルにダウンロードする (databricks fs cp)

databricks fs cp dbfs:/Volumes/workspace/default/test_volume/test.csv ./test.csv

さいごに

ワークスペースの URL を指定するだけで簡単に Databricks CLI をインストールして認証設定ができました。

Databricks CLI では記事内で紹介したようなファイルのやり取りやジョブの実行以外にも、Databricks Apps のデプロイやクラスターの管理など、さまざまな操作ができます。

私自身もこれから CLI を使いこなしてローカルから Databricks ワークスペースを効率的に管理していきたいと思います。

この記事がどなたかの参考になっていれば幸いです。

参考リンク

香取 拓哉 (記事一覧)

2023年度新卒入社
データドリブンな人間を目指しています
好きな食べ物は芽ねぎ