メインコンテンツまでスキップ

sync コマンド

注記

この情報は、Databricks CLI バージョン 0.205 以降に適用されます。Databricks CLI は パブリック プレビュー段階です。

Databricks CLI 使用には、使用状況データを含む Databricks ライセンス および Databricks プライバシー通知が適用されます。

Databricks CLI 内の sync コマンド グループを使用すると、ローカル開発マシン上のディレクトリ内のローカル コードとファイルの変更をリモート Databricks ワークスペース内のフォルダーに一方向に同期できます。

注記
  • sync リモート Databricks ワークスペース内のフォルダーからローカル開発マシン上のディレクトリにファイルの変更を同期できません。
  • sync は、ローカル開発マシンからのファイル変更を、Databricks ワークスペース内のワークスペース ユーザー (/Users) ファイルにのみ同期できます。DBFS (dbfs:/) ファイルと同期できません。ローカル開発マシンから Databricks ワークスペースの DBFS (dbfs:/) にファイルの変更を同期するには、 dbx 同期 ユーティリティを使用します。

databricks sync

ローカルディレクトリをワークスペースディレクトリに同期します。

databricks sync [flags] SRC DST

引数

SRC

ソースディレクトリのパス

DST

宛先ディレクトリ パス

オプション

--dry-run

実際の変更を行わずに同期実行をシミュレートする

--exclude strings

同期から除外するパターン (複数回指定可能)

--exclude-from string

同期から除外するパターンを含むファイル(1行に1つのパターン)

--full

完全同期の実行 (デフォルトは増分)

--include strings

同期に含めるパターン (複数回指定可能)

--include-from string

同期に含めるパターンを含むファイル (1 行に 1 つのパターン)

--interval duration

ファイルシステムのポーリング間隔 (--watch の場合) (デフォルトは 1 秒)

--watch

ローカルファイルシステムの変更を監視する

グローバルフラグ

次のセクションでは、 sync コマンドの使用方法を示します。

ローカル ファイルの変更をリモート ディレクトリに増分同期する

ローカル ディレクトリ内のファイル変更をリモート Databricks ワークスペース内のフォルダーに 1 つの増分一方向の同期を実行するには、次のように sync コマンドを実行します。

Bash
databricks sync <local-directory-path> <remote-directory-path>

たとえば、ローカルの現在の作業ディレクトリの my-local-folder という名前のフォルダー内のすべてのファイル変更を、リモートワークスペースのフォルダー my-workspace-folder に 1 回限りの一方向の増分同期を実行するには、次のコマンドを実行します。

Bash
databricks sync ./my-local-folder /Users/someone@example.com/my-workspace-folder

この例では、 sync コマンドの最後の実行以降のファイル変更のみが /Users/someone@example.com/my-workspace-folderに同期されます。デフォルトでは、発信者の DEFAULT プロファイル内のワークスペースURLを使用して、同期先のリモートワークスペースが決定されます。

特定のファイルのみを同期する

指定したパターンに基づいて同期する特定のファイルを含めたり除外したりするには、 --include--include-from--exclude、または --exclude-from オプションを使用します。

Bash
databricks sync ./my-local-folder /Users/someone@example.com/my-workspace-folder --exclude-from .gitignore
注記

バンドル内のファイルを同期する場合は、代わりに sync 設定マッピングを使用します。sync を参照してください。

次の例では、特定のファイルパターンを同期から除外します。

Bash
databricks sync --exclude "*.pyc" --exclude "__pycache__" ./my-local-folder /Users/someone@example.com/my-workspace-folder

ローカル ファイルの変更をリモート ディレクトリに完全に同期する

ローカル ディレクトリ内のファイル変更をリモート Databricks ワークスペース内のフォルダーに 1 つの完全な一方向の一方向の同期を実行するには、最後の sync コマンドがいつ実行されたかに関係なく、次のように --full オプションを使用します。

Bash
databricks sync ./my-local-folder /Users/someone@example.com/my-workspace-folder --full

ローカルファイルの変更をリモートディレクトリに継続的に同期する

ローカル ディレクトリ内のファイル変更のリモート Databricks ワークスペース内のフォルダーへの継続的な一方向の同期を有効にするには、次のように --watch オプションを使用します。

Bash
databricks sync ./my-local-folder /Users/someone@example.com/my-workspace-folder --watch

一方向の同期は、コマンドが端末から停止するまで続きます (通常は Ctrl + c または Ctrl + zを押して)。

同期イベントのポーリングは、デフォルトで 1 秒に 1 回行われます。 この間隔を変更するには、 --interval オプションを使用し、ポーリングする秒数の後に文字 s(たとえば 5 秒間) を付けます。

Bash
databricks sync ./my-local-folder /Users/someone@example.com/my-workspace-folder --watch --interval 5s

同期の進行状況の出力形式を変更する

同期の進行状況情報は、デフォルトでテキスト形式で端末に出力されます。同期進行状況の出力形式を指定するには、--output オプションを使用して、text (特に指定されていない場合はデフォルト) または jsonのいずれか--output指定します。

Bash
databricks sync ./my-local-folder /Users/someone@example.com/my-workspace-folder --output json

同期のファイル操作のプレビュー

ファイル同期操作を実際に実行せずに同期をプレビューするには、次のように --dry-run オプションを使用します。

Bash
databricks sync ./my-local-folder /Users/someone@example.com/my-workspace-folder --dry-run
Output
Warn: Running in dry-run mode. No actual changes will be made.
Action: PUT: test.txt
Uploaded test.txt
Initial Sync Complete

グローバルフラグ

--debug

デバッグログを有効にするかどうか。

-h または --help

Databricks CLI、関連するコマンド グループ、または関連するコマンドのヘルプを表示します。

--log-file string

出力ログの書き込み先となるファイルを表す文字列。このフラグが指定されていない場合、デフォルトでは出力ログが stderr に書き込まれます。

--log-format format

ログ・フォーマット・タイプ ( text または json) 。デフォルト値は textです。

--log-level string

ログ形式レベルを表す文字列。指定しない場合、ログ・フォーマット・レベルは使用不可になります。

-o, --output タイプ

コマンド出力タイプ text または json。デフォルト値は textです。

-p, --profile string

コマンドの実行に使用する ~/.databrickscfg ファイル内のプロファイルの名前。このフラグが指定されていない場合、存在する場合は、 DEFAULT という名前のプロファイルが使用されます。

--progress-format format

進行状況ログを表示する形式: defaultappendinplacejson

-t, --target string

該当する場合は、使用するバンドル・ターゲット