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

dbx を使用して、ローカル ファイルをリモート ワークスペースとリアルタイムで同期します

important

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

Databricks では、dbx syncの代わりに、databricks sync コマンドによる dbx sync と同様の機能を含む Databricks CLI バージョン 0.205 以降を使用することをお勧めします。

Visual Studio Code の Databricks 拡張機能には、Visual Studio Code IDE に統合された dbx sync と同様の機能も含まれています。dbx syncDBFSは、ローカルの開発マシンから、 ワークスペース内の 、ワークスペースの場所、 フォルダー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 を使用した一般的な開発ワークフローは次のとおりです。

  1. DBFS に同期するファイルを含むローカル ディレクトリを特定します。
  2. ローカル ディレクトリを同期するパスを DBFS で特定します (または、dbx sync にデフォルトの DBFS パスを作成させます)。
  3. dbx sync dbfs を実行して、ローカル ディレクトリを DBFS パスに同期します。dbx sync は、ファイルの変更がないかローカル ディレクトリの監視を開始します。
  4. 必要に応じて、ローカルディレクトリ内のファイルに変更を加えます。 dbx sync 、これらの変更をDBFSパス内の対応するファイルにリアルタイムで適用します。

dbx sync と Databricks の Git フォルダーを使用する一般的な開発ワークフローは次のとおりです。

  1. Databricks Git フォルダーがサポートする Git プロバイダー を使用してリポジトリを作成します (リポジトリがまだない場合は)。
  2. Repo ジトリを Databricks ワークスペースに複製します。
  3. Repo ジトリをローカル開発マシンに複製します。
  4. dbx sync repo を実行して、ローカルの複製されたリポジトリをワークスペースの複製された Repo ジトリに関連付けます。dbx sync 、ローカルディレクトリでファイルの変更を監視し始めます。
  5. 必要に応じて、ローカルのクローン リポジトリ内のファイルに変更を加えます。 dbx sync は、これらの変更を Databricks Git フォルダー内の対応するファイルにリアルタイムで適用します。
  6. ワークスペース内の複製された Repo ジトリから Git プロバイダーに更新されたファイルを定期的にプッシュして、Repo ジトリが Git プロバイダーで最新の状態に保たれるようにします。
important

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

    Bash
    python --version
注記

python のインストールによっては、pythonの代わりに python3 を使用する必要がある場合があります。その場合は、この記事全体で pythonpython3 に置き換えてください。

  • ピップpipがインストールされているかどうか、およびインストールされているpipのバージョンを確認するには、pip --versionまたはpython -m pip --versionを実行します。

    Bash
    pip --version

    # Or...

    python -m pip --version
注記

pip のインストールによっては、pipの代わりに pip3 を使用する必要がある場合があります。その場合は、この記事全体で pippip3 に置き換えてください。

  • 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 の dbxdbx のドキュメントを参照してください。

  • 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

  1. ローカル開発マシンのターミナルまたは PowerShell から、Databricks ワークスペース内の DBFS に同期するファイルが含まれているディレクトリに移動します。

  2. 次のように、 dbx sync コマンドを実行して、ローカル・ディレクトリをワークスペース内の DBFS に同期します。 (現在のディレクトリを表す末尾のドット(.)を忘れないでください。

    Bash
    dbx 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 ウェブページにあります。

Bash
pip install --upgrade dbx==<version>

# Or...
python -m pip install --upgrade dbx==version
  1. dbx sync 現在のローカル ディレクトリ内のファイルと、ワークスペース内の次の DBFS パス内のファイルの同期を開始します。 dbx sync 、次のように、 Target base path の後にDBFSパスを出力することでこれを確認します。

    /tmp/users/<your-Databricks-username>/<local-directory-name>
ヒント

別のユーザ名または DBFS パスを指定するには、 dbx syncを実行するときに --user オプションと --dest オプションをそれぞれ指定します。

  1. 必要に応じて、ローカル ファイルに変更を加えます。
important

同期を続行するには、ターミナルまたは PowerShell を開いたままにしておく必要があります dbx sync 。 ターミナルまたは PowerShell を閉じると、 dbx sync はファイルの変更の監視を停止し、同期を停止します。 ファイル変更の同期を再開するには、この手順を最初から繰り返します。

  1. 必要に応じて、ワークスペース内の DBFS の前のパスでファイルが変更されていることを確認します。

Databricks Git フォルダーを次の機能で使用する dbx sync

  1. ローカル開発マシンのターミナルまたは PowerShell から、Git プロバイダーを含むリポジトリのクローンを含むルート ディレクトリに移動します。

  2. Databricks ワークスペースで、ローカルのクローン リポジトリを同期する Databricks Git フォルダーの名前を特定します。 このリポジトリ名を見つけるには、ワークスペースのサイドバーで [Git フォルダー ] をクリックします。

  3. ローカルの開発マシンで、 dbx sync コマンドを実行して、次のようにローカルのクローン作成リポジトリをワークスペース内の Databricks Git フォルダーに同期します。 <your-repo-name> を Databricks Git フォルダー内のリポジトリの名前に置き換えます。 (現在のディレクトリを表す末尾のドット(.)を忘れないでください。

    Bash
    dbx 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 ウェブページにあります。

Bash
pip install --upgrade dbx==<version>

# Or...
python -m pip install --upgrade dbx==version
  1. dbx sync は、ローカルのクローン リポジトリ内のファイルとワークスペース内の Databricks Git フォルダー内のファイルの同期を開始します。 dbx sync は、次のように、 Target base path に続けて Databricks Git フォルダー パスを出力することでこれを確認します。

    /Repos/<your-Databricks-username>/<your-repo-name>
ヒント

別のユーザー名または Repo ジトリ名を指定するには、 dbx syncを実行するときに、それぞれ --user オプションと --dest-repo オプションを指定します。

  1. 必要に応じて、ローカル ファイルに変更を加えます。
important

同期を続行するには、ターミナルまたは PowerShell を開いたままにしておく必要があります dbx sync 。 ターミナルまたは PowerShell を閉じると、 dbx sync はファイルの変更の監視を停止し、同期を停止します。 ファイル変更の同期を再開するには、この手順を最初から繰り返します。

  1. 必要に応じて、ワークスペース内の Databricks Git フォルダーでファイルの変更を確認します。

追加のリソース