こちらの記事を書いて3年経ってました。
Databricks Connectは、Visual Studio Code、PyCharm 、RStudio Desktop、IntelliJ IDEA 、ノートブックサーバー、その他のカスタムアプリケーションなどの一般的な IDEからDatabricksの計算資源に接続するためのDatabricksランタイム用のクライアントライブラリです。
前回はPyCharmで接続しましたが、今回はVS Codeで接続します。
設定の流れ
接続先のDatabricksワークスペース
- ワークスペースURLのコピー
- パーソナルアクセストークンの取得
ローカルマシン
- VS Codeのインストール
- Python仮想環境の有効化
- Databricks Connectのインストール
ローカルマシンでの作業
OSに応じたVS Codeをインストールください。
私はVS Codeに不慣れなので、こちらの記事を参考にさせていただきました。
- VS Code のワークスペースをちゃんと使いたい #初心者 - Qiita
- [python] pip/VSCode開発環境の構築 (windows11) #Python - Qiita
- 【Python環境構築】VSCodeとvenvを使った実践的な環境構築 #Python - Qiita
Python仮想環境の有効化
Databricks Connectのライブラリをインストールするので仮想環境を作成して有効化します。
Pythonインタプリタを選択して仮想環境を作成、有効化します。
Databricks Connectのインストール
接続先にサーバレスコンピュートを指定できるようになっているのでこちらを試します。VS Codeのターミナルで以下を実行します。サーバレスに接続するにはバージョン16.1以降が必要です。
pip3 install --upgrade "databricks-connect==16.1.0"
接続確認
serverless = True
を指定することで、クラスターIDを指定することなしにサーバレスコンピュートに接続できます。
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.remote(
host = "https://<Databricksワークスペースのホスト名>/",
token = "<パーソナルアクセストークン>",
serverless = True
).getOrCreate()
spark.sql("SELECT 1").show()
.venvtakaaki.yayoi@DRYC7D19F3 vscode % /Users/takaaki.yayoi/venv/vscode/.venv/bin/python /Users/takaaki.yayoi/venv/conncet.py
+---+
| 1|
+---+
| 1|
+---+
以下のようにUnity Catalog配下のテーブルにもアクセスできます。
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.remote(
host = "https://<Databricksワークスペースのホスト名>/",
token = "<パーソナルアクセストークン>",
serverless = True
).getOrCreate()
spark.sql("SELECT * FROM samples.nyctaxi.trips LIMIT 10").show()