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 personal アクセストークンが既にあるかどうかわからない場合は、ユーザー アカウント内の他の Databricks personal アクセストークンに影響を与えることなく、このステップに従うことができます。

パーソナルアクセストークンを作成するには、以下の手順を実行します。

  1. Databricksワークスペースで、上部バーにあるDatabricksユーザー名をクリックし、ドロップダウンから [ユーザー設定] を選択します。

  2. [ 開発者] をクリックします。

  3. [アクセストークン] の横にある [管理] をクリックします。

  4. [ 新しいトークンの生成] をクリックします。

  5. (任意)今後このトークンを識別するのに役立つコメントを入力し、トークンのデフォルトの有効期間である90日を変更します。有効期間のないトークンを作成するには(非推奨)、[有効期間 (日) ] ボックスを空白のままにしてください。

  6. [生成] をクリックします。

  7. 表示されたトークンを安全な場所にコピーし、[完了] をクリックします。

注:

コピーしたトークンは、必ず安全な場所に保存してください。 コピーしたトークンを他のユーザーと共有しないでください。 コピーしたトークンを紛失した場合、まったく同じトークンを再生成することはできません。 代わりに、この手順を繰り返して新しいトークンを作成する必要があります。 コピーしたトークンを紛失した場合、またはトークンが侵害されたと思われる場合は、アクセストークン ページでトークンの横にあるごみ箱 (取り消し) アイコンをクリックして、ワークスペースからそのトークンをすぐに削除することを強くお勧めします。

ワークスペースでトークンを作成または使用できない場合は、ワークスペース管理者がトークンを無効にしたか、トークンを作成または使用する権限を与えていないことが原因である可能性があります。ワークスペース管理者に問い合わせるか、以下をご覧ください。

ステップ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 personal アクセストークンに置き換えます。

    • <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 プロジェクトをデバッグする