Databricks CLI (レガシ)
このドキュメントは廃止されており、更新されない可能性があります。
Databricks では、従来の Databricks CLI バージョン 0.18 以前ではなく、Databricks CLI バージョン 0.205 以降を使用することをお勧めします。 Databricks CLI バージョン 0.18 以下は、Databricks ではサポートされていません。 Databricks CLI バージョン 0.205 以降に関する情報については、「Databricks CLIとは」を参照してください。
Databricks CLI バージョン 0.18 以前から Databricks CLI バージョン 0.205 以降に移行するには、「 Databricks CLI の移行」を参照してください。
従来の Databricks CLI は 試験段階 の状態です。 Databricks は、現時点では、従来の Databricks CLI の新機能の作業を計画していません。
従来の Databricks CLI は、 Databricks Support チャンネルではサポートされていません。 フィードバックの提供、質問、問題の報告を行うには、GitHub の Databricks リポジトリのコマンド ライン インターフェイスの [ 問題 ] タブを使用します。
従来の Databricks CLI は、Databricks for Google Cloud では使用できません。
従来の Databricks コマンドライン インターフェイス (従来の Databricks CLI とも呼ばれます) は、ターミナル、コマンド プロンプト、または自動化スクリプトから Databricks プラットフォームを自動化するための使いやすいインターフェイスを提供するユーティリティです。
必要条件
- Python 3 - 3.6 以降
- Python 2 - 2.7.9 以降
macOS では、デフォルトPython 2 インストールでは TLSv1_2DatabricksCLI プロトコルが実装されておらず、このPython インストールで従来の を実行すると、エラー:AttributeError: 'module' object has no attribute 'PROTOCOL_TLSv1_2'
が発生します。Homebrew を使用して、ssl.PROTOCOL_TLSv1_2
があるバージョンの Python をインストールします。
CLI のセットアップ
このセクションでは、従来の Databricks CLI を設定する方法について説明します。
CLI をインストールまたは更新する
このセクションでは、レガシ Databricks CLI を実行するために開発用マシンをインストールまたは更新する方法について説明します。
CLI のインストール
Python インストールに適したバージョンの pip
を使用して pip install databricks-cli
を実行します。
pip install databricks-cli
CLI を更新する
Python インストールに適したバージョンの pip
を使用して pip install databricks-cli --upgrade
を実行します。
pip install databricks-cli --upgrade
現在インストールされているレガシ Databricks CLI のバージョンを一覧表示するには、次のコマンドを実行します databricks --version
。
databricks --version
認証を設定する
従来の Databricks CLI コマンドを実行する前に、従来の Databricks CLI と Databricks の間の認証を設定する必要があります。 このセクションでは、従来の Databricks CLI の認証を設定する方法について説明します。
従来の Databricks CLI で認証するには、 Databricks 個人用アクセス トークンを使用できます。
セキュリティのベストプラクティスとして、自動化されたツール、システム、スクリプト、アプリで認証する場合、Databricks では、ワークスペースユーザーではなく 、サービスプリンシパル に属する個人用アクセストークンを使用することをお勧めします。 サービスプリンシパルのトークンを作成するには、「 サービスプリンシパルのトークンの管理」を参照してください。
Databricks の個人用アクセス トークンを使用して認証を設定する
従来の Databricks CLI で個人用アクセス トークンを使用するように構成するには、次のコマンドを実行します。
databricks configure --token
コマンドは、プロンプトを発行することから始まります。
Databricks Host (should begin with https://):
ワークスペースの URL を https://<instance-name>.<random-number>.gcp.databricks.com
の形式で入力します。 ワークスペースの URL を取得するには 、「ワークスペース インスタンスの名前、URL、および ID」を参照してください。
コマンドは、パーソナルアクセストークンを入力するプロンプトを発行して続行します。
Token:
プロンプトを完了すると、アクセス資格情報は、Linux または macOS では ~/.databrickscfg
ファイル、Windows では %USERPROFILE%\.databrickscfg
ファイルに保存されます。 このファイルには、デフォルトのプロファイルエントリが含まれています。
[DEFAULT]
host = <workspace-URL>
token = <personal-access-token>
.databrickscfg
ファイルがすでに存在する場合は、そのファイルのDEFAULT
構成プロファイルが新しいデータで上書きされます。代わりに別の名前で構成プロファイルを作成するには、 接続プロファイルを参照してください。
CLI 0.8.1 以降では、環境変数 DATABRICKS_CONFIG_FILE
を設定することで、このファイルのパスを変更できます。
- Linux or macOS
- Windows
export DATABRICKS_CONFIG_FILE=<path-to-file>
setx DATABRICKS_CONFIG_FILE "<path-to-file>" /M
CLI 0.17.2 以降、CLI は .netrc ファイルでは機能しません。 他の目的で環境に .netrc
ファイルを持つことができますが、CLI ではその .netrc
ファイルは使用されません。
環境変数の設定は、設定ファイルの設定よりも優先されます。
認証設定をテストする
認証が正しく設定されたかどうかを確認するには、次のようなコマンドを実行します。
databricks fs ls dbfs:/
成功した場合、このコマンドは、DEFAULT
プロファイルに関連付けられているワークスペースの DBFSルート内のファイルとディレクトリを一覧表示します。
接続プロファイル
従来の Databricks CLI 構成では、複数の接続プロファイルがサポートされています。 の同じインストール 従来の Databricks CLI を使用して、複数の Databricks ワークスペースで API 呼び出しを行うことができます。
接続プロファイルを追加するには、プロファイルの一意の名前を指定します。
.databrickscfg
ファイルには、対応するプロファイルエントリが含まれています。
[<profile-name>]
host = <workspace-URL>
token = <token>
接続プロファイルを使用するには、次のようにします。
databricks <group> <command> --profile <profile-name>
--profile <profile-name>
を指定しない場合は、デフォルトのプロファイルが使用されます。デフォルト プロファイルが見つからない場合は、デフォルト プロファイルを使用して CLI を設定するように求められます。
接続プロファイルをテストする
接続プロファイルが正しく設定されているかどうかを確認するには、接続プロファイル名のいずれかを使用して次のようなコマンドを実行します。
databricks fs ls dbfs:/ --profile <profile-name>
成功した場合、このコマンドは、指定した接続プロファイルのワークスペースの DBFSルートにあるファイルとディレクトリを一覧表示します。 テストする接続プロファイルごとに、このコマンドを実行します。
使用可能なプロファイルを表示するには、 .databrickscfg
ファイルを参照してください。
CLI の使用
このセクションでは、レガシ Databricks CLI ヘルプを取得する方法、レガシ Databricks CLI 出力を解析する方法、および各コマンド グループでコマンドを呼び出す方法について説明します。
CLI コマンド・グループ・ヘルプの表示
任意のコマンド・グループのサブコマンドをリストするには、 --help
または -h
オプションを使用します。 たとえば、DBFS CLI サブコマンドを一覧表示するには、次のようにします。
databricks fs -h
CLI サブコマンド・ヘルプの表示
サブコマンドのヘルプをリストするには、 --help
または -h
オプションを使用します。 例えば、DBFS copy files サブコマンドのヘルプをリストするには、次のようにします。
databricks fs cp -h
エイリアス・コマンド・グループ
たとえば、従来の Databricks CLI 呼び出しごとにコマンド グループの名前をプレフィックスに付けるのが不便な場合があります
databricks workspace ls
は従来の Databricks CLI で実行できます。 従来の Databricks CLI を使いやすくするために、コマンド グループを短いコマンドにエイリアスできます。たとえば、 databricks workspace ls
を dw ls
に短縮するには、
Bourne を再度シェルすると、適切な bash プロファイルに alias dw="databricks workspace"
を追加できます。 通常
このファイルは ~/.bash_profile
にあります。
従来の Databricks CLI では、既に databricks fs
から に のエイリアスが付けられ dbfs
; databricks fs ls
と dbfs ls
は同等です。
jq
を使用して CLI 出力を解析する
一部のレガシ Databricks CLI コマンドは、API エンドポイントから JSON 応答を出力します。 時にはそうかもしれません
JSONの一部を解析して他のコマンドにパイプするのに便利です。 たとえば、ジョブをコピーするには
定義では、get ジョブ コマンドの settings
フィールドを取得し、それを引数として使用する必要があります
を create ジョブ コマンドに貼り付けます。 このような場合は、ユーティリティ jq
を使用することをお勧めします。
たとえば、次のコマンドは、ID が 233 のジョブの設定を印刷します。
databricks jobs list --output JSON | jq '.jobs[] | select(.job_id == 233) | .settings'
アウトプット:
{
"name": "Quickstart",
"new_cluster": {
"spark_version": "7.5.x-scala2.12",
"spark_env_vars": {
"PYSPARK_PYTHON": "/databricks/python3/bin/python3"
},
"num_workers": 8,
...
},
"email_notifications": {},
"timeout_seconds": 0,
"notebook_task": {
"notebook_path": "/Quickstart"
},
"max_concurrent_runs": 1
}
別の例として、次のコマンドは、ワークスペースで使用可能なすべてのクラスターの名前と ID のみを出力します。
databricks clusters list --output JSON | jq '[ .clusters[] | { name: .cluster_name, id: .cluster_id } ]'
アウトプット:
[
{
"name": "My Cluster 1",
"id": "1234-567890-grip123"
},
{
"name": "My Cluster 2",
"id": "2345-678901-patch234"
}
]
たとえば、 jq
をインストールするには、macOS で Homebrew を brew install jq
と一緒に使用したり、Windows では Chocolatey と choco install jq
を使用してインストールしたりできます。 jq
の詳細については、jqのマニュアルを参照してください。
JSON 文字列パラメーター
文字列 パラメーターは、オペレーティング システムによって処理方法が異なります。
- Linux or macOS
- Windows
You must enclose JSON string parameters in single quotes. For example:
'["20180505", "alantest"]'
You must enclose JSON string parameters in double quotes, and the quote characters inside the string must be preceded by \
. For example:
"[\"20180505\", \"alantest\"]"
トラブルシューティング
次のセクションでは、従来の Databricks CLI に関する一般的な問題のトラブルシューティングに関するヒントを提供します。
databricks configure
で EOF を使用しても機能しません
Databricks CLI 0.12.0 以降では、スクリプトでファイルの終わり (EOF
) シーケンスを使用して databricks configure
コマンドにパラメーターを渡すことはできません。 たとえば、次のスクリプトでは、Databricks CLI はパラメーターを無視し、エラー メッセージはスローされません。
この問題を解決するには、次のいずれかの操作を行います。