dbx を使用して、ローカル ファイルをリモート ワークスペースとリアルタイムで同期します
このドキュメントは廃止されており、更新されない可能性があります。
Databricks では、dbx sync
の代わりに、databricks sync
コマンドによる dbx sync
と同様の機能を含む Databricks CLI バージョン 0.205 以降を使用することをお勧めします。
Visual Studio Code の Databricks 拡張機能には、Visual Studio Code IDE に統合された dbx sync
と同様の機能も含まれています。dbx sync
DBFSは、ローカルの開発マシンから、 ワークスペース内の 、ワークスペースの場所、 フォルダーDatabricksGitDatabricksにファイルの変更を同期できることに注意してください。Visual Studio Code の Databricks 拡張機能では、ファイルの変更をワークスペース ユーザー (/Users
) ファイルと Databricks Git フォルダー (/Repos
) にのみ同期できます。
この記事では、現状のまま提供されており、顧客技術サポートチャネルを通じたDatabricksのサポートが提供されていない、Databricks Labsの dbx
について説明します。ご質問や機能リクエストは、GitHub上のdatabrickslabs/dbxリポジトリの「問題」ページからお問い合わせください。
Databricks Labs の dbx を使用して、ローカル開発マシン上のファイルに対する変更と Databricks ワークスペース内の対応するファイルへのリアルタイム同期を実行できます。 これらのワークスペース ファイルは、 DBFS または Databricks Git フォルダーに配置できます。
dbx
(dbx sync
とも呼ばれます) とのリアルタイムのファイル同期は、迅速なコード開発シナリオで役立ちます。たとえば、ローカルの統合開発環境 (IDE) を使用して、構文の強調表示、スマート コード補完、コードのリンティング、テストとデバッグなどの生産性向上機能を利用できます。 その後、すぐにワークスペースに移動して、更新したコードを実行できます。
dbx sync
は、単独で使用することも、自動化されたジョブと共に使用することも、IDE と共に使用することもできます。
dbx sync
開発ワークフロー
dbx sync
には 2 つの開発ワークフローがあり、1 つは DBFS を使用し、もう 1 つは Databricks Git フォルダーを使用します。
dbx sync
と DBFS を使用した一般的な開発ワークフローは次のとおりです。
- DBFS に同期するファイルを含むローカル ディレクトリを特定します。
- ローカル ディレクトリを同期するパスを DBFS で特定します (または、
dbx sync
にデフォルトの DBFS パスを作成させます)。 dbx sync dbfs
を実行して、ローカル ディレクトリを DBFS パスに同期します。dbx sync
は、ファイルの変更がないかローカル ディレクトリの監視を開始します。- 必要に応じて、ローカルディレクトリ内のファイルに変更を加えます。
dbx sync
、これらの変更をDBFSパス内の対応するファイルにリアルタイムで適用します。
dbx sync
と Databricks の Git フォルダーを使用する一般的な開発ワークフローは次のとおりです。
- Databricks Git フォルダーがサポートする Git プロバイダー を使用してリポジトリを作成します (リポジトリがまだない場合は)。
- Repo ジトリを Databricks ワークスペースに複製します。
- Repo ジトリをローカル開発マシンに複製します。
dbx sync repo
を実行して、ローカルの複製されたリポジトリをワークスペースの複製された Repo ジトリに関連付けます。dbx sync
、ローカルディレクトリでファイルの変更を監視し始めます。- 必要に応じて、ローカルのクローン リポジトリ内のファイルに変更を加えます。
dbx sync
は、これらの変更を Databricks Git フォルダー内の対応するファイルにリアルタイムで適用します。 - ワークスペース内の複製された Repo ジトリから Git プロバイダーに更新されたファイルを定期的にプッシュして、Repo ジトリが Git プロバイダーで最新の状態に保たれるようにします。
dbx sync
ローカルの開発マシンからリモート ワークスペースへのファイル変更の一方向のリアルタイム同期のみを実行します。 したがって、Databricks では、Databricks ワークスペースで dbx sync
によって監視されているファイルへの変更を開始することはお勧めしません。 このようなワークスペースによって開始されるファイルの変更を行う必要がある場合は、次の操作も行う必要があります。
- DBFS でファイルを変更する場合は、ローカル ファイルに対応する変更を手動で行います。
- Databricks Git フォルダー内のファイル変更の場合は、ファイルの変更をワークスペースから Git プロバイダーにプッシュします。 次に、ローカル開発マシンで、Git プロバイダーからファイルの変更をプルします。
必要条件
Databricks Git フォルダーで dbx sync
を使用する場合は、Databricks ワークスペースが次の要件を満たしている必要があります。
- リポジトリの クローン を Git プロバイダーと共に作成することは必須ではありませんが、推奨されます。
ローカルの開発マシンには、次のものがインストールされている必要があります。
-
Python バージョン3.8以降。 Python がインストールされているかどうかを確認し、インストールされている Python のバージョンを確認するには、ターミナルまたは PowerShell で
python --version
を実行します。Bashpython --version
python
のインストールによっては、python
の代わりに python3
を使用する必要がある場合があります。その場合は、この記事全体で python
を python3
に置き換えてください。
-
ピップ。
pip
がインストールされているかどうか、およびインストールされているpip
のバージョンを確認するには、pip --version
またはpython -m pip --version
を実行します。Bashpip --version
# Or...
python -m pip --version
pip
のインストールによっては、pip
の代わりに pip3
を使用する必要がある場合があります。その場合は、この記事全体で pip
を pip3
に置き換えてください。
-
dbx バージョン 0.8.0 以降。
dbx
がインストールされているかどうか、およびインストールされているdbx
のバージョンを確認するには、dbx --version
を実行します。Python Package Index (PyPI) からdbx
をインストールするには、pip install dbx
またはpython -m pip install dbx
を実行します。 (dbx sync を含むdbx
)Bash# Check whether dbx is installed, and check its version.
dbx --version
# Install dbx.
pip install dbx
# Or...
python -m pip install dbx
dbx
の詳細については、Databricks Labs の dbx と dbx のドキュメントを参照してください。
-
Databricks CLI バージョン 0.18 以下で、認証を使用して設定されています。従来の Databricks CLI (Databricks CLI バージョン 0.17) は、
dbx
. この認証は、ローカル開発マシンの次の場所のいずれかまたは両方で設定できます。DATABRICKS_HOST
およびDATABRICKS_TOKEN
の環境変数内(従来の Databricks CLI バージョン0.8.0以降).databrickscfg
ファイル内の Databricks 構成プロファイル。
dbx
は、これら2つの各ロケーションで認証資格情報を検索します。dbx
は、一致する資格情報で最初に見つかったもののみを使用します。
.databrickscfg
ファイルを使用する場合、dbx sync
はこのファイルでデフォルトで DEFAULT
という名前の構成プロファイルを検索します。別のプロファイルを指定するには、この記事の後半で dbx sync
コマンドを実行するときに --profile
オプションを使用します。
dbx
.netrc の使用はサポートされていません 認証用のファイル。
- Databricks Git フォルダーで
dbx sync
を使用する場合は、必須ではありませんが、Git プロバイダーを使用したリポジトリのローカル クローンをお勧めします。 ローカルクローンを実行するには、Git プロバイダーのドキュメントを参照してください。
DBFS を次の方法で使用します dbx sync
-
ローカル開発マシンのターミナルまたは PowerShell から、Databricks ワークスペース内の DBFS に同期するファイルが含まれているディレクトリに移動します。
-
次のように、 dbx sync コマンドを実行して、ローカル・ディレクトリをワークスペース内の DBFS に同期します。 (現在のディレクトリを表す末尾のドット(
.
)を忘れないでください。Bashdbx sync dbfs --source .
別のソースディレクトリを指定するには、ドット (.
) を別のパスに置き換えます。
エラー Error: No such command 'sync'
が表示された場合は、 dbx
のインストールが古くなっている可能性があります。 これを修正するには、 pip install --upgrade dbx==<version>
または python -m pip install --upgrade dbx==version
を実行します。ここで、 <version>
は最新バージョンの dbx
です。 このバージョン番号は、 dbx の PyPI ウェブページにあります。
pip install --upgrade dbx==<version>
# Or...
python -m pip install --upgrade dbx==version
-
dbx sync
現在のローカル ディレクトリ内のファイルと、ワークスペース内の次の DBFS パス内のファイルの同期を開始します。dbx sync
、次のように、Target base path
の後にDBFSパスを出力することでこれを確認します。/tmp/users/<your-Databricks-username>/<local-directory-name>
別のユーザ名または DBFS パスを指定するには、 dbx sync
を実行するときに --user
オプションと --dest
オプションをそれぞれ指定します。
- 必要に応じて、ローカル ファイルに変更を加えます。
同期を続行するには、ターミナルまたは PowerShell を開いたままにしておく必要があります dbx sync
。 ターミナルまたは PowerShell を閉じると、 dbx sync
はファイルの変更の監視を停止し、同期を停止します。 ファイル変更の同期を再開するには、この手順を最初から繰り返します。
- 必要に応じて、ワークスペース内の DBFS の前のパスでファイルが変更されていることを確認します。
Databricks Git フォルダーを次の機能で使用する dbx sync
-
ローカル開発マシンのターミナルまたは PowerShell から、Git プロバイダーを含むリポジトリのクローンを含むルート ディレクトリに移動します。
-
Databricks ワークスペースで、ローカルのクローン リポジトリを同期する Databricks Git フォルダーの名前を特定します。 このリポジトリ名を見つけるには、ワークスペースのサイドバーで [Git フォルダー ] をクリックします。
-
ローカルの開発マシンで、 dbx sync コマンドを実行して、次のようにローカルのクローン作成リポジトリをワークスペース内の Databricks Git フォルダーに同期します。
<your-repo-name>
を Databricks Git フォルダー内のリポジトリの名前に置き換えます。 (現在のディレクトリを表す末尾のドット(.
)を忘れないでください。Bashdbx sync repo -d <your-repo-name> --source .
別のソースディレクトリを指定するには、ドット (.
) を別のパスに置き換えます。
エラー Error: No such command 'sync'
が表示された場合は、 dbx
のインストールが古くなっている可能性があります。 これを修正するには、 pip install --upgrade dbx==<version>
または python -m pip install --upgrade dbx==version
を実行します。ここで、 <version>
は最新バージョンの dbx
です。 このバージョン番号は、 dbx の PyPI ウェブページにあります。
pip install --upgrade dbx==<version>
# Or...
python -m pip install --upgrade dbx==version
-
dbx sync
は、ローカルのクローン リポジトリ内のファイルとワークスペース内の Databricks Git フォルダー内のファイルの同期を開始します。dbx sync
は、次のように、Target base path
に続けて Databricks Git フォルダー パスを出力することでこれを確認します。/Repos/<your-Databricks-username>/<your-repo-name>
別のユーザー名または Repo ジトリ名を指定するには、 dbx sync
を実行するときに、それぞれ --user
オプションと --dest-repo
オプションを指定します。
- 必要に応じて、ローカル ファイルに変更を加えます。
同期を続行するには、ターミナルまたは PowerShell を開いたままにしておく必要があります dbx sync
。 ターミナルまたは PowerShell を閉じると、 dbx sync
はファイルの変更の監視を停止し、同期を停止します。 ファイル変更の同期を再開するには、この手順を最初から繰り返します。
- 必要に応じて、ワークスペース内の Databricks Git フォルダーでファイルの変更を確認します。
追加のリソース
- dbxドキュメント
- dbx sync のマニュアル
- GitHubのdatabrickslabs/dbxリポジトリ
- dbxの制限事項