次の方法で共有


Databricks Connect for R

Note

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

ご質問がある場合は、「Posit Community」に移動してください。

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

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

この記事では、R、sparklyr、および RStudio Desktop を使用して、Databricks Connect をすぐに使えるようにする方法について説明します。

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

チュートリアル

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

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

要件

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

  • ターゲットの Azure Databricks ワークスペースとクラスターは、Databricks Connect の Compute 構成の要件を満たしている必要があります。
  • クラスター ID を使用できる必要があります。 クラスター ID を取得するには、ワークスペースで、サイドバーの [コンピューティング] をクリックしてから、クラスターの名前をクリックします。 Web ブラウザーのアドレス バーで、URL 内の clustersconfiguration の間の文字列をコピーします。

手順 1: 個人用アクセス トークンを作成する

Note

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

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

Azure Databricks 個人用アクセス トークンが既にある場合は、手順 2 に進みます。 Azure Databricks 個人用アクセス トークンが既にあるかわからない場合、この手順を進めても、ユーザー アカウント内の他の Azure Databricks 個人用アクセス トークンに影響が出ることはありません。

個人用アクセス トークンを作成するには、「ワークスペース ユーザーの Azure 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 を、ご利用の Azure Databricks クラスターにインストールされている Python バージョンのメジャーとマイナー バージョンに置き換えます。 このメジャーとマイナー バージョンを確認するには、「Databricks Runtime リリース ノートのバージョンと互換性」でクラスターの Databricks Runtime バージョンのリリース ノートの「システム環境」セクションを参照してください。

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

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

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

    • <workspace-url>ワークスペースごとの URL に置き換えます (例: https://adb-1234567890123456.7.azuredatabricks.net)。
    • <personal-access-token> を、手順 1 の Azure 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 プロジェクトをデバッグする