次の方法で共有


R言語用Databricks Connect

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

質問については、 Posit コミュニティにアクセスしてください。

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

詳細については、Databricks Connect v2 に関するsparklyrを参照してください。

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

Databricks Connect では Apache Spark MLlib との互換性が制限されています。Spark MLlib では RDD が使用されますが、Databricks Connect では DataFrame API のみがサポートされるためです。 sparklyr のすべての Spark MLlib 関数を使用するには、Databricks ノートブックまたはdb_repl関数を使用します。

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

チュートリアル

次のチュートリアルでは、RStudio でプロジェクトを作成し、Databricks Runtime 13.3 LTS 以降の Databricks Connect をインストールして構成し、RStudio から Databricks ワークスペース内のコンピューティングで単純なコードを実行します。 このチュートリアルの補足情報については、Spark Connect および Databricks Connect v2sparklyr にある「Databricks Connect」のセクションを参照してください。

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

要件

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

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

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

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

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

Azure Databricks個人用アクセス トークンが既にある場合は、手順 2 に進みます。 Azure Databricks個人用アクセス トークンが既にあるかどうかわからない場合は、ユーザー アカウント内の他のAzure Databricks個人用アクセス トークンに影響を与えずに、この手順に従うことができます。

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

手順 2: プロジェクトを作成する

  1. RStudio Desktop を開始します。
  2. メイン メニューの File > New Project をクリックします。
  3. [ 新しいディレクトリ] を選択します
  4. [New Project を選択します。
  5. [ ディレクトリ名 ] と [ プロジェクトをサブディレクトリとして作成] に、新しいプロジェクト ディレクトリの名前と、この新しいプロジェクト ディレクトリを作成する場所を入力します。
  6. [ このプロジェクトで renv を使用する] を選択します。 renv パッケージの更新バージョンをインストールするように求められたら、[はい] をクリックします。
  7. [Create Project をクリックします。

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

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

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

  2. [Install from][Repository (CRAN)] の設定のままにします。

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

    sparklyr,pysparklyr,reticulate,usethis,dplyr,dbplyr
    
  4. Install to Library を R の仮想環境に設定したままにしてください。

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

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

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

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

  2. Console ペインで、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 ワークスペースのクラスターの詳細ページの Configuration タブで、Databricks Runtime Version ボックスを参照してください。

    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 デスクトップ コンソールで、次のコマンドを実行します。

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