0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Databricks Connectを使ってみる

Posted at

Databricks Connectのマニュアル - Qiitaで紹介された手順を実際に実施した内容となります。

Databricks ConnectはDatabricksランタイムのクライアントライブラリです。Databricks Connectを用いることで、お使いのIDE(Eclipse、IntelliJ、PyCharm、RStudio、Visual Studio Code)、ノートブックサーバー(Jupyter Notebook、Zeppelin)、他のカスタムアプリケーションからDatabricksクラスターに接続できます。

ここでは、PyCharmからDatabricksクラスターに接続する流れをご紹介します。

PyCharmのインストール

ローカルマシンにPyCharmがインストールされていない場合には、ダウンロードしてインストールします。

Databricksクラスターの作成

Databricks Connectを使用する際には、Databricksランタイムのバージョンに注意する必要があります。

こちらで説明されている通り、特定のバージョンのみがDatabricks Connectをサポートしています。また、使用するランタイムでサポートしているPythonのバージョンにも注意が必要です。ローカルマシンのIDEで使用するPythonのバージョンを一致させる必要があります。

ここでは、Python 3.8をサポートしているDatabricksランタイム9.1でクラスターを作成します。Databricksワークスペースにアクセスしてクラスターを作成しておきます。
Screen Shot 2022-01-18 at 13.11.03.png

パーソナルアクセストークンの作成

Databricks ConnectからDatabricksクラスターにアクセスする際には、パーソナルアクセストークンが必要となります。

サイドメニューのUser SettingsAccess Tokensを開き、Generate New Tokenをクリックします。トークン名と有効期限を入力してGenerateをクリックします。
Screen Shot 2022-01-18 at 13.21.12.png

パーソナルアクセストークンが表示されるのでコピーしておきます。
Screen Shot 2022-01-18 at 13.23.01.png

パーソナルアクセストークンは厳重に管理してください。第三者に共有しないでください。

Databricks Connectのセットアップ

IDEを使用するローカルマシンでDatabricks Connectの設定を行います。以下の情報が必要となります。

  • クラスターを作成したDatabricksのワークスペースURL
  • 上で作成したDatabricksのパーソナルアクセストークン
  • 作成したクラスターのID。クラスターページのURLからクラスターIDを取得できます。以下の例では、クラスターIDは0304-201045-hoary804となります。

Pythonバージョンの確認・設定

ここでローカルマシンにDatabricks Connectをインストールしますが、この際には後述するIDEで使用するPythonインタプリタを用いてインストールを行うようにしてください。複数のバージョンのPythonインタプリタが存在する場合には、Pyenvで切り替えるなどしてください。ここでは、クラスターと同じPython 3.8を使用するように設定します。

Bash
pyenv install 3.8.7
pyenv global 3.8.7

Databricks Connectのインストール

Terminal(Macの場合)で以下を実行します。databricks-connect==以降の数字は上のDatabricksランタイムと同じものを指定する必要があります。最新のものがインストールされるように末尾は*とします。

Bash
pip install -U "databricks-connect==9.1.*"

Databricks Connectの設定

以下を実行します。

Bash
databricks-connect configure
  • Databricks Hostには、上記ワークスペースのURLhttps://<ワークスペースのホスト名>/を指定します。
  • Databricks Tokenには、上で作成したパーソナルアクセストークンを指定します。
  • Cluster IDには上で取得したクラスターIDを指定します。
  • Org IDは空のままとします。
  • Portには15001を指定します。

接続確認

以下を実行します。

Bash
databricks-connect test

以下のようなメッセージが最後に表示されれば接続は確立しています。

* Simple dbutils test passed
* All tests passed.

PyCharmの設定

上でDatabricks Connectをインストールする際に使用したPythonインタプリタをPyCharmで使用するように設定する必要があります。

New Projectを作成する際、Previously configured interpreterを選択します。ドロップダウンにDatabricks Connectをインストールする際に使用したPythonインタプリタがあれば選択し、存在しない場合には、右側の...をクリックし、インタプリタを選択します。
Screen Shot 2022-01-18 at 14.42.28.png

Screen Shot 2022-01-18 at 14.54.05.png

main.pyファイルに以下の内容を貼り付けます。シンプルな動作確認用Pythonファイルです。

Python
from pyspark.sql import SparkSession
from pyspark.dbutils import DBUtils

spark = SparkSession.builder.getOrCreate()

dbutils = DBUtils(spark)
print(dbutils.fs.ls("dbfs:/"))

main.pyファイルを右クリックし、**Modify Run Configuration...**をクリックします。環境変数にPYSPARK_PYTHON=python3を追加します。
Screen Shot 2022-01-18 at 15.03.46.png

main.pyをRunします。以下のように[FileInfo(path='dbfs:...と表示されれば、無事にPyCharmからDatabricksクラスターにアクセスできていることになります。
Screen Shot 2022-01-18 at 14.56.23.png

Databricks 無料トライアル

Databricks 無料トライアル

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?