Databricks Connect for R (英語)

注:

この記事では sparklyr Databricks Connect for Databricks Runtime 13.0 以降との統合について説明します。 この統合は、Databricks によって提供されず、Databricks によって直接サポートされていません。

ご不明な点がございましたら、 Posit コミュニティをご覧ください。

問題を報告するには、GitHub の sparklyr リポジトリの [問題] セクションに移動します。

詳細については、sparklyr ドキュメントの「Databricks Connect v2」を参照してください。

この記事では、R、 sparklyrRStudio Desktop を使用して Databricks Connect をすばやく開始する方法について説明します。

Databricks Connect を使用すると、RStudio Desktop、ノートブック サーバー、その他のカスタム アプリケーションなどの一般的な IDEs を Databricks クラスターに接続できます。 「 Databricks Connect とは」を参照してください。

チュートリアル

このチュートリアルでは、RStudio Desktop と Python 3.10 を使用します。 まだインストールしていない場合は、 R と RStudio Desktop と Python 3.10 をインストールします。

このチュートリアルの補足情報については、sparklyr Web サイトの「Spark Connect と Databricks Connect v2」の「Databricks Connect」セクションを参照してください。

要件

このチュートリアルを完了するには、次の要件を満たす必要があります。

  • ターゲットの Databricks ワークスペースとクラスターは、 Databricks Connect のクラスター構成の要件を満たしている必要があります。

  • クラスター ID を取得している必要があります。クラスター ID を取得するには、ワークスペースでサイドバーの [ コンピュート ] をクリックし、クラスターの名前をクリックします。 Web ブラウザーのアドレスバーで、URL の clusters から configuration までの文字列をコピーします。

ステップ 1: 個人用アクセストークンを作成する

注:

Databricks Connect for R 認証では、現在、Databricks 個人用アクセストークンのみがサポートされています。

このチュートリアルでは、Databricks ワークスペースでの認証に Databricks 個人用アクセストークン認証 を使用します。

Databricks の個人用アクセストークンが既にある場合は、「ステップ 2」に進んでください。Databricks 個人用アクセストークンが既にあるかどうかわからない場合は、ユーザー アカウント内の他の Databricks 個人用アクセストークンに影響を与えることなく、このステップに従うことができます。

個人用アクセストークンを作成するには、「ワークスペース ユーザー向けの個人用アクセストークンDatabricks」の手順に従います。

ステップ2:プロジェクトを作成する

  1. RStudio Desktop を起動します。

  2. メイン メニューで、[ファイル] > [新しいプロジェクト] をクリックします

  3. [新しいディレクトリ] を選択します。

  4. [ 新しいプロジェクト] を選択します。

  5. [ ディレクトリ名 ] と [ サブディレクトリとしてプロジェクトを作成] に、新しいプロジェクト ディレクトリの名前と、この新しいプロジェクト ディレクトリを作成する場所を入力します。

  6. [ このプロジェクトで renv を使用する] を選択します。 renv パッケージの更新バージョンをインストールするように求められたら、[はい] をクリックします。

  7. プロジェクトの作成」をクリックします。

RStudio Desktop プロジェクトを作成する

ステップ 3: Databricks Connect パッケージとその他の依存関係を追加する

  1. RStudio Desktop のメイン メニューで、[ ツール] > [パッケージのインストール] をクリックします

  2. [Install from] は [リポジトリ (CRAN)] のままにします。

  3. [パッケージ] に、Databricks Connect パッケージとこのチュートリアルの前提条件であるパッケージの次の一覧を入力します。

    sparklyr,pysparklyr,reticulate,usethis,dplyr,dbplyr
    
  4. [ ライブラリにインストール ] は R 仮想環境に設定したままにします。

  5. [ 依存関係のインストール ] が選択されていることを確認します。

  6. インストール」をクリックします。

Databricks Connect パッケージの依存関係をインストールする
  1. コンソール 」ビュー (「View > Move Focus to Console」) でインストールを続行するように求めるプロンプトが表示されたら、 Yと入力します。 sparklyr パッケージと pysparklyr パッケージ、およびそれらの依存関係は、R 仮想環境にインストールされます。

  2. [コンソール] ウィンドウで、reticulate を使用して次のコマンドを実行して Python をインストールします。(Databricks Connect for R では、最初に reticulate と Python をインストールする必要があります)。 次のコマンドで、 3.10 を Databricks クラスターにインストールされている Python バージョンのメジャー バージョンとマイナー バージョンに置き換えます。 このメジャー バージョンとマイナー バージョンを見つけるには、「 Databricks Runtime リリースノートのバージョンと互換性」のクラスターの Databricks Runtime バージョンのリリースノートの「システム環境」セクションを参照してください。

    reticulate::install_python(version = "3.10")
    
  3. [コンソール] ウィンドウで、次のコマンドを実行して Databricks Connect パッケージをインストールします。次のコマンドで、 13.3 を Databricks クラスターにインストールされている Databricks Runtime バージョンに置き換えます。 このバージョンを見つけるには、Databricks ワークスペースのクラスターの詳細ページの [ 構成 ] タブで、 [ Databricks Runtime バージョン ] ボックスを確認します。

    pysparklyr::install_databricks(version = "13.3")
    

    クラスターの Databricks Runtime バージョンがわからない場合、または検索したくない場合は、代わりに次のコマンドを実行すると、クラスターにクエリー pysparklyr 、使用する正しい Databricks Runtime バージョンが決定されます。

    pysparklyr::install_databricks(cluster_id = "<cluster-id>")
    

    先ほど指定したものと同じ Databricks Runtime バージョンを持つ別のクラスターに後でプロジェクトを接続する場合、 pysparklyr では同じ Python 環境が使用されます。 新しいクラスターの Databricks Runtime バージョンが異なる場合は、新しい Databricks Runtime バージョンまたはクラスター ID を使用して pysparklyr::install_databricks コマンドを再度実行する必要があります。

ステップ 4: ワークスペース URL、アクセストークン、クラスター ID の環境変数を設定する

Databricks では、Databricks ワークスペース URL、Databricks 個人用アクセストークン、Databricks クラスター ID などの機密性の高い値や変更される値を R スクリプトにハードコーディングすることはお勧めしません。 代わりに、これらの値を個別に格納します (たとえば、ローカル環境変数に格納します)。 このチュートリアルでは、RStudio Desktop の組み込みサポートを使用して、環境変数を .Renviron ファイルに格納します。

  1. 環境変数を格納する .Renviron ファイルが存在しない場合は作成し、このファイルを開いて編集します。 RStudio Desktop Console で、次のコマンドを実行します。

    usethis::edit_r_environ()
    
  2. 表示される .Renviron ファイル([表示]>[フォーカスをソースに移動])に、次の内容を入力します。 このコンテンツでは、次のプレースホルダーを置き換えます。

    • <workspace-url>ワークスペース インスタンスの URL に置き換えます (例: https://1234567890123456.7.gcp.databricks.com)。

    • <personal-access-token> をステップ 1 の Databricks 個人用アクセストークンに置き換えます。

    • <cluster-id> を、このチュートリアルの要件のクラスター ID に置き換えます。

    DATABRICKS_HOST=<workspace-url>
    DATABRICKS_TOKEN=<personal-access-token>
    DATABRICKS_CLUSTER_ID=<cluster-id>
    
  3. .Renvironファイルを保存します。

  4. 環境変数を R にロードします: メイン メニューで、[ セッション] > [R の再起動] をクリックします。

Databricks Connect の環境変数を設定する

ステップ 5: コードを追加する

  1. RStudio Desktop のメイン メニューで、[ファイル] > [R スクリプト>新しいファイル] をクリックします

  2. 次のコードをファイルに入力し、ファイルをdemo.R次のように保存します ([ファイル] > [保存])。

    library(sparklyr)
    library(dplyr)
    library(dbplyr)
    
    sc <- sparklyr::spark_connect(
      master     = Sys.getenv("DATABRICKS_HOST"),
      cluster_id = Sys.getenv("DATABRICKS_CLUSTER_ID"),
      token      = Sys.getenv("DATABRICKS_TOKEN"),
      method     = "databricks_connect",
      envname    = "r-reticulate"
    )
    
    trips <- dplyr::tbl(
      sc,
      dbplyr::in_catalog("samples", "nyctaxi", "trips")
    )
    
    print(trips, n = 5)
    

ステップ 6: コードを実行する

  1. RStudio Desktop で、 demo.R ファイルのツールバーで [ ソース] をクリックします。

    RStudio Desktop プロジェクトを実行する
  2. コンソールに、trips表の最初の5行が表示されます。

  3. 「接続」ビュー (「表示」>「接続の表示」) では、使用可能なカタログ、スキーマ、表、およびビューを探索できます。

    プロジェクトの [接続] ビュー

ステップ 7: コードをデバッグする

  1. demo.Rファイルで、[print(trips, n = 5)] の横にある余白をクリックしてブレークポイントを設定します。

  2. demo.Rファイルのツールバーで、「ソース」をクリックします。

  3. ブレークポイントでコードが停止する場合は、 環境 ビュー ([表示] > [環境の表示]) で変数を検査できます。

  4. メイン メニューで、[デバッグ] > [続行] をクリックします。

  5. コンソールに、trips表の最初の5行が表示されます。

RStudio Desktop プロジェクトをデバッグする