LoginSignup
0
1

More than 1 year has passed since last update.

dbx syncを用いてローカルファイルをDatabricks Reposに同期する

Posted at

こちらで説明しているdbx syncの使用法をウォークスルーします。

ここでは、同期先をDatabricks Repos、同期元のソースコードはVSCodeで操作します。GitプロバイダーはGitHubです。全体のフローは以下のようになります。dbx syncを起動することで、ローカルでのファイルの変更がリアルタイムでDatabricks Reposに同期されます。なお、Gitプロバイダーのリポジトリに対しては別途コミット&プッシュが必要です。
Screenshot 2023-02-04 at 14.38.23.png

こちらの手順に従って、dbxの設定を完了しておきます。

Gitリポジトリの準備

  1. Databricks ReposがサポートしているGitプロバイダーでリポジトリを作成します。ここではtaka-yayoiというリポジトリとしています。
    Screenshot 2023-02-04 at 14.09.29.png
  2. Databricks Reposで上記リポジトリを追加します。
    Screenshot 2023-02-04 at 14.14.36.png
  3. ローカルマシンでGitリポジトリをクローンします。

dbx syncの起動

  1. ターミナルでクローンしたGitリポジトリのルートディレクトリに移動します。

  2. 以下のコマンドを実行してdbx syncを起動します。

    Bash
    dbx sync repo -d taka-yayoi --source .
    

    注意
    [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed...というエラーが出る場合には、こちらを参考に.databrickscfgファイルにinsecure = Trueを追加してください。

  3. ローカルのディレクトリに対する監視がスタートします。
    Screenshot 2023-02-04 at 14.22.51.png

  4. コマンドを停止しない限り、監視と同期は継続されます。

VSCodeでの操作

  1. ローカルマシンでクローンしたGitリポジトリのルートディレクトリでVSCodeを起動します。

    Bash
    code .
    

    Screenshot 2023-02-04 at 14.17.33.png

  2. 新規にファイルを作成して、コードを記述してから保存します。
    Screenshot 2023-02-04 at 14.24.55.png

  3. 変更が検知され、Reposにコピーされます。
    Screenshot 2023-02-04 at 14.25.25.png

Reposでの確認

DatabricksワークスペースでReposにアクセスするとファイルが追加されているのを確認することができます。
Screenshot 2023-02-04 at 14.26.08.png
Screenshot 2023-02-04 at 14.27.37.png

ファイルをクラスターにアタッチすることでコードを実行することも可能です。
Screenshot 2023-02-04 at 14.39.53.png

最後にReposの内容をGitHubにコミット&プッシュしておきます。
Screenshot 2023-02-04 at 14.40.30.png

GitHubリポジトリにも変更が反映されました。
Screenshot 2023-02-04 at 14.40.53.png

まとめ

dbx syncを用いることで、IDEの高度な編集機能とDatabricksの計算資源やワークフローの機能をうまく組み合わせることができます。ぜひご活用ください。

Databricks 無料トライアル

Databricks 無料トライアル

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1