メインコンテンツまでスキップ
非公開のページ
このページは非公開です。 検索対象外となり、このページのリンクに直接アクセスできるユーザーのみに公開されます。

Databricks CLI (レガシ)

important

このドキュメントは廃止されており、更新されない可能性があります。

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 以降
important

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 を実行します。

Bash
pip install databricks-cli

CLI を更新する

Python インストールに適したバージョンの pip を使用して pip install databricks-cli --upgrade を実行します。

Bash
pip install databricks-cli --upgrade

現在インストールされているレガシ Databricks CLI のバージョンを一覧表示するには、次のコマンドを実行します databricks --version

Bash
databricks --version

認証を設定する

従来の Databricks CLI コマンドを実行する前に、従来の Databricks CLI と Databricks の間の認証を設定する必要があります。 このセクションでは、従来の Databricks CLI の認証を設定する方法について説明します。

従来の Databricks CLI で認証するには、 Databricks 個人用アクセス トークンを使用できます。

注記

セキュリティのベストプラクティスとして、自動化されたツール、システム、スクリプト、アプリで認証する場合、Databricks では、ワークスペースユーザーではなく 、サービスプリンシパル に属する個人用アクセストークンを使用することをお勧めします。 サービスプリンシパルのトークンを作成するには、「 サービスプリンシパルのトークンの管理」を参照してください。

Databricks の個人用アクセス トークンを使用して認証を設定する

従来の Databricks CLI で個人用アクセス トークンを使用するように構成するには、次のコマンドを実行します。

Bash
databricks configure --token

コマンドは、プロンプトを発行することから始まります。

Console
Databricks Host (should begin with https://):

ワークスペースの URL を https://<instance-name>.<random-number>.gcp.databricks.comの形式で入力します。 ワークスペースの URL を取得するには 、「ワークスペース インスタンスの名前、URL、および ID」を参照してください。

コマンドは、パーソナルアクセストークンを入力するプロンプトを発行して続行します。

Console
Token:

プロンプトを完了すると、アクセス資格情報は、Linux または macOS では ~/.databrickscfg ファイル、Windows では %USERPROFILE%\.databrickscfg ファイルに保存されます。 このファイルには、デフォルトのプロファイルエントリが含まれています。

Console
[DEFAULT]
host = <workspace-URL>
token = <personal-access-token>

.databrickscfg ファイルがすでに存在する場合は、そのファイルのDEFAULT構成プロファイルが新しいデータで上書きされます。代わりに別の名前で構成プロファイルを作成するには、 接続プロファイルを参照してください。

CLI 0.8.1 以降では、環境変数 DATABRICKS_CONFIG_FILEを設定することで、このファイルのパスを変更できます。

Bash
export DATABRICKS_CONFIG_FILE=<path-to-file>
important

CLI 0.17.2 以降、CLI は .netrc ファイルでは機能しません。 他の目的で環境に .netrc ファイルを持つことができますが、CLI ではその .netrc ファイルは使用されません。

環境変数の設定は、設定ファイルの設定よりも優先されます。

認証設定をテストする

認証が正しく設定されたかどうかを確認するには、次のようなコマンドを実行します。

Bash
databricks fs ls dbfs:/

成功した場合、このコマンドは、DEFAULT プロファイルに関連付けられているワークスペースの DBFSルート内のファイルとディレクトリを一覧表示します。

接続プロファイル

従来の Databricks CLI 構成では、複数の接続プロファイルがサポートされています。 の同じインストール 従来の Databricks CLI を使用して、複数の Databricks ワークスペースで API 呼び出しを行うことができます。

接続プロファイルを追加するには、プロファイルの一意の名前を指定します。

.databrickscfgファイルには、対応するプロファイルエントリが含まれています。

Console
[<profile-name>]
host = <workspace-URL>
token = <token>

接続プロファイルを使用するには、次のようにします。

Bash
databricks <group> <command> --profile <profile-name>

--profile <profile-name>を指定しない場合は、デフォルトのプロファイルが使用されます。デフォルト プロファイルが見つからない場合は、デフォルト プロファイルを使用して CLI を設定するように求められます。

接続プロファイルをテストする

接続プロファイルが正しく設定されているかどうかを確認するには、接続プロファイル名のいずれかを使用して次のようなコマンドを実行します。

Bash
databricks fs ls dbfs:/ --profile <profile-name>

成功した場合、このコマンドは、指定した接続プロファイルのワークスペースの DBFSルートにあるファイルとディレクトリを一覧表示します。 テストする接続プロファイルごとに、このコマンドを実行します。

使用可能なプロファイルを表示するには、 .databrickscfg ファイルを参照してください。

CLI の使用

このセクションでは、レガシ Databricks CLI ヘルプを取得する方法、レガシ Databricks CLI 出力を解析する方法、および各コマンド グループでコマンドを呼び出す方法について説明します。

CLI コマンド・グループ・ヘルプの表示

任意のコマンド・グループのサブコマンドをリストするには、 --help または -h オプションを使用します。 たとえば、DBFS CLI サブコマンドを一覧表示するには、次のようにします。

Bash
databricks fs -h

CLI サブコマンド・ヘルプの表示

サブコマンドのヘルプをリストするには、 --help または -h オプションを使用します。 例えば、DBFS copy files サブコマンドのヘルプをリストするには、次のようにします。

Bash
databricks fs cp -h

エイリアス・コマンド・グループ

たとえば、従来の Databricks CLI 呼び出しごとにコマンド グループの名前をプレフィックスに付けるのが不便な場合があります databricks workspace ls は従来の Databricks CLI で実行できます。 従来の Databricks CLI を使いやすくするために、コマンド グループを短いコマンドにエイリアスできます。たとえば、 databricks workspace lsdw ls に短縮するには、 Bourne を再度シェルすると、適切な bash プロファイルに alias dw="databricks workspace" を追加できます。 通常 このファイルは ~/.bash_profileにあります。

ヒント

従来の Databricks CLI では、既に databricks fs から に のエイリアスが付けられ dbfs; databricks fs lsdbfs ls は同等です。

jq を使用して CLI 出力を解析する

一部のレガシ Databricks CLI コマンドは、API エンドポイントから JSON 応答を出力します。 時にはそうかもしれません JSONの一部を解析して他のコマンドにパイプするのに便利です。 たとえば、ジョブをコピーするには 定義では、get ジョブ コマンドの settings フィールドを取得し、それを引数として使用する必要があります を create ジョブ コマンドに貼り付けます。 このような場合は、ユーティリティ jqを使用することをお勧めします。

たとえば、次のコマンドは、ID が 233 のジョブの設定を印刷します。

Bash
databricks jobs list --output JSON | jq '.jobs[] | select(.job_id == 233) | .settings'

アウトプット:

Console
{
"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 のみを出力します。

Bash
databricks clusters list --output JSON | jq '[ .clusters[] | { name: .cluster_name, id: .cluster_id } ]'

アウトプット:

Console
[
{
"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 文字列パラメーター

文字列 パラメーターは、オペレーティング システムによって処理方法が異なります。

You must enclose JSON string parameters in single quotes. For example:

Bash
'["20180505", "alantest"]'

トラブルシューティング

次のセクションでは、従来の Databricks CLI に関する一般的な問題のトラブルシューティングに関するヒントを提供します。

databricks configure で EOF を使用しても機能しません

Databricks CLI 0.12.0 以降では、スクリプトでファイルの終わり (EOF) シーケンスを使用して databricks configure コマンドにパラメーターを渡すことはできません。 たとえば、次のスクリプトでは、Databricks CLI はパラメーターを無視し、エラー メッセージはスローされません。

この問題を解決するには、次のいずれかの操作を行います。

  • 認証の設定で説明されているように、他のプログラムによる構成オプションのいずれかを使用します。
  • 認証の設定の説明に従って、hosttoken の値を .databrickscfg ファイルに手動で追加します。
  • Databricks CLI のインストールを 0.11.0 以下にダウングレードし、スクリプトを再度実行します。