次の方法で共有


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

Von Bedeutung

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

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

Visual Studio Code 用の Databricks 拡張機能には、Visual Studio Code IDE に統合dbx syncのような機能も含まれています。 dbx syncは、ローカル開発マシンから、Azure Databricks ワークスペース内の DBFS、ワークスペースの場所、および Databricks Git フォルダーにファイルの変更を同期できることに注意してください。 Visual Studio Code 用の Databricks 拡張機能では、ワークスペース ユーザー (/Users) ファイルと Databricks Git フォルダー (/Repos) へのファイル変更の同期のみがサポートされています。

この記事で説明する Databricks Labs による dbx は、現状のまま提供されており、カスタマー テクニカル サポート チャネルを通じて Databricks によってサポートされているわけではありません。 ご質問や機能のリクエストは、GitHub の databrickslabs/dbx リポジトリの Issue ページを通じてご連絡いただけます。

ローカル開発マシン上のファイルに対する変更を、Databricks Labs の dbx を使用して、Azure Databricks ワークスペース内の対応するファイルとリアルタイムで同期できます。 これらのワークスペース ファイルは 、DBFS または Databricks Git フォルダーにあります。

dbx (dbx sync とも呼ばれます) とのリアルタイムのファイル同期は、迅速なコード開発シナリオで役立ちます。 たとえば、ローカル統合開発環境 (IDE) を使用して、構文の強調表示、スマート コード補完、コード リンティング、テストとデバッグなどの生産性機能を使用できます。 その後、すぐにワークスペースに移動し、更新されたコードを実行できます。

dbx syncは、単独で、自動化されたジョブ、または IDE で使用できます。

dbx sync 開発ワークフロー

dbx syncには 2 つの開発ワークフローがあり、1 つは DBFS と 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. リポジトリを Azure Databricks ワークスペースに複製します。
  3. リポジトリをローカル開発マシンに複製します。
  4. dbx sync repoを実行して、ローカルの複製されたリポジトリをワークスペースの複製されたリポジトリに関連付けます。 dbx sync は、ファイルの変更に関するローカル ディレクトリの監視を開始します。
  5. 必要に応じて、ローカルの複製されたリポジトリ内のファイルに変更を加えます。 dbx sync は、これらの変更を Databricks Git フォルダー内の対応するファイルにリアルタイムで適用します。
  6. ワークスペース内の複製されたリポジトリから Git プロバイダーに更新されたファイルを定期的にプッシュし、リポジトリが Git プロバイダーで最新の状態に保たることができるようにします。

Von Bedeutung

dbx sync は、ローカル開発マシンからリモート ワークスペースへのファイル変更の一方向のリアルタイム同期のみを実行します。 そのため、Databricks では、 dbx syncによって監視されているファイルへの変更を Azure Databricks ワークスペースで開始することはお勧めしません。 このようなワークスペースによって開始されるファイルを変更する必要がある場合は、次の操作も行う必要があります。

  • DBFS でファイルを変更する場合は、ローカル ファイルに対応する変更を手動で行います。
  • Databricks Git フォルダーでファイルを変更する場合は、ワークスペースから Git プロバイダーにファイルの変更をプッシュします。 次に、ローカル開発マシンで、Git プロバイダーからこれらのファイルの変更をプルします。

要求事項

Databricks Git フォルダーで dbx sync を使用する場合は、Azure Databricks ワークスペースが次の要件を満たしている必要があります。

  • Git プロバイダーを使用してリポジトリの 複製 を作成することは必須ではありませんが、推奨されます。

ローカル開発用コンピューターには、次のものがインストールされている必要があります。

  • Python バージョン 3.8 以降。 Python がインストールされているかどうかを確認し、インストールされている Python のバージョンを確認するには、ターミナルまたは PowerShell で python --version を実行します。

    python --version
    

    python の一部のインストールでは、python3 ではなく python を使用する必要があります。 その場合は、この記事全体で pythonpython3 に置き換える必要があります。

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

    pip --version
    
    # Or...
    
    python -m pip --version
    

    pip の一部のインストールでは、pip3 ではなく pip を使用する必要があります。 その場合は、この記事全体で pippip3 に置き換える必要があります。

  • dbx バージョン 0.8.0 以上。 dbxがインストールされているかどうかを確認し、インストールされているdbxバージョンを確認するには、dbx --version実行します。 Python パッケージ インデックス (PyPI) から dbx をインストールするには、 pip install dbx または python -m pip install dbxを実行します。 (dbxにはdbx同期が含まれています)。

    # Check whether dbx is installed, and check its version.
    dbx --version
    
    # Install dbx.
    pip install dbx
    
    # Or...
    python -m pip install dbx
    
  • Databricks CLI バージョン 0.18 以下では、認証を使用して設定します。 dbx をインストールすると、レガシ Databricks CLI (Databricks CLI バージョン 0.17) が自動的にインストールされます。 この認証は、次の場所のいずれかまたは両方のローカル開発マシンで設定できます。

    • DATABRICKS_HOSTDATABRICKS_TOKEN の環境変数内 (レガシ Databricks CLI バージョン 0.8.0 以降)。
    • ファイル内の Azure Databricks .databrickscfg

    dbx によって、これら 2 つの場所でそれぞれ認証資格情報が検索されます。 dbx では、検出された一致する資格情報の最初のセットのみが使用されます。

    .databrickscfg ファイルを使用する場合、dbx sync は既定でこのファイル内にあるDEFAULTという名前の構成プロファイルを検索します。 別のプロファイルを指定するには、この記事で後述する --profile コマンドを実行するときに、dbx sync オプションを使用します。

    dbx では、認証に .netrc ファイルを使用することはできません。

  • Databricks Git フォルダーで dbx sync を使用する場合は、Git プロバイダーを含むリポジトリのローカル クローンが推奨されますが、必須ではありません。 ローカル クローンを実行するには、Git プロバイダーのドキュメントを参照してください。

DBFS をdbx syncと共に使用する

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

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

    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 Web ページにあります。

    pip install --upgrade dbx==<version>
    
    # Or...
    python -m pip install --upgrade dbx==version
    
  3. dbx sync は、現在のローカル ディレクトリ内のファイルと、ワークスペース内の次の DBFS パス内のファイルの同期を開始します。 dbx sync は、 Target base path を印刷し、その後に DBFS パスを続けることでこれを確認します。次に例を示します。

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

    ヒント

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

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

    Von Bedeutung

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

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

dbx sync と Databricks Git フォルダーを使用する

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

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

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

    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 Web ページにあります。

    pip install --upgrade dbx==<version>
    
    # Or...
    python -m pip install --upgrade dbx==version
    
  4. dbx sync は、ローカルの複製されたリポジトリ内のファイルと、ワークスペース内の Databricks Git フォルダー内のファイルの同期を開始します。 dbx sync これを確認するには、 Target base path を印刷し、その後に Databricks Git フォルダーのパスを続けます。次に例を示します。

    /Repos/<your-Databricks-username>/<your-repo-name>
    

    ヒント

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

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

    Von Bedeutung

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

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

その他のリソース