メインコンテンツまでスキップ

R のための Databricks Connect

注記

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

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

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

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

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

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

チュートリアル

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

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

必要条件

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

  • ターゲット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. [ インストール元 ] は [リポジトリ (CRAN)] のままにします。

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

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

  5. 依存関係をインストール 」が選択されていることを確認してください。

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

Databricks Connect パッケージの依存関係をインストールする

  1. コンソール ビュー ( [表示] > [フォーカスをコンソールに移動 ]) でインストールを続行するように求められたら、「Y」と入力します。sparklyr パッケージと pysparklyr パッケージ、およびそれらの依存関係は、R 仮想環境にインストールされます。

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

    reticulate::install_python(version = "3.10")
  3. [コンソール ] ウィンドウで、次のコマンドを実行して Databricks Connect パッケージをインストールします。次のコマンドで、13.3 Databricks RuntimeをDatabricks クラスターにインストールされている バージョンに置き換えます。このバージョンを見つけるには、 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、個人用アクセス トークン、クラスター ID などの機密性の高い値や変化する値を R スクリプトにハードコーディングDatabricksDatabricksお勧めしません。代わりに、これらの値をローカル環境変数などに個別に格納します。 このチュートリアルでは、RStudio Desktop の組み込みサポートを使用して、環境変数を .Renviron ファイルに格納します。

  1. 環境変数を格納する .Renviron ファイルを作成し(このファイルがまだ存在しない場合)、このファイルを編集用に開きます。RStudioデスクトップ コンソール で、次のコマンドを実行します。

    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:

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