Databricks WorkspaceとローカルPC上のソースコードの同期方法
DatabricksというApache Sparkベースのビッグデータ分析プラットフォームがあります。
Databricks
https://databricks.com/
Azure Databricks
https://azure.microsoft.com/ja-jp/services/databricks/
これを使うとクラウド上に格納した大規模なデータに対して、
Jupyter Notebookのようなインタフェースで、
データ分析、可視化、機械学習などを行うことが出来ます。
Databricksに限った話では無いのですが。
インタラクティブな環境は、アドホックな分析には使いやすいのですが。
定型的な前処理の実装や、関数に分割して確認しながらロジックを実装する場合は、
IDEの方が効率良いことも多いと考えられます。
そこで、Databricksでは、
(私がドキュメントを眺めてみた感じでは)以下の2つの方法を用意しているようです。
- (1)ローカルPC上で開発したコードをビルド、jarにしてclusterに追加して実行する
- (2)DatabricksのWorkspaceと、ローカルPCをDatabrciksCLIで同期する
今回、わたしが書こうとしたコードの範囲では、
(1)の方法をやるほどでも無かったので、ここでは(2)の方法を紹介します。
# (1)の方法を行う場合は、sbtのpluginが用意されているようなので、
# 以下を参照下さい。
#
# sbt Plugin | docs.databricks.com
# https://docs.databricks.com/user-guide/dev-tools/sbt-plugin.html
#
# databricks/sbt-databricks | GitHub
# https://github.com/databricks/sbt-databricks
ソースファイルの同期には、以下のCLIが利用出来ます。
Databricks CLI | docs.databricks.com
https://docs.databricks.com/user-guide/dev-tools/databricks-cli.html
databricks/databricks-cli | GitHub
https://github.com/databricks/databricks-cli
Python製なので、以下のようにpipでインストールします。
$ pip install databricks-cli
Databrciskの認証情報を設定します。
※~/.databrickscfg
に保存されます。
$ databricks configure
Databricks Host (should begin with https://): <ホスト名を入力>
Username: <ユーザ名を入力>
Password: <パスワードを入力>
Repeat for confirmation: <パスワードを入力>
ここまで出来れば、以下のようにファイルを同期できます。
workspaceのファイルリスト表示。
databricks workspace ls /Users/<ユーザ名>
workspace上のソースのexport。
databricks workspace export_dir <Workspace上の対象パス> <ローカルPCのパス>
workspace上へのソースのimport。
databricks workspace import_dir <ローカルPCのパス> <Workspace上の対象パス>
その他のサブコマンドやオプションは、以下に記載されています。
Workspace CLI | docs.databricks.com
https://docs.databricks.com/user-guide/dev-tools/databricks-cli.html#workspace-cli
インタラクティブなUIとIDE、適材適所で使い分けていきたいですね。