Databricks のデータをR で分析:ODBC での接続

データビジュアライゼーション、ハイパフォーマンスな統計関数を使ってDatabricks をMicrosoft R Open で分析。

古川えりか
コンテンツスペシャリスト

最終更新日:2022-04-05

こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。

R スクリプトおよび 標準SQL を使ってDatabricks にアクセス。CData ODBC Driver for Databricks とRODBC package を使って、R でリモートDatabricks を利用できます。CData Driver を使うことで、オープンソースでポピュラーなR 言語のデータにアクセスできます。この記事では、ドライバーを使ってDatabricks にSQL クエリを実行する方法、およびR でDatabricks をビジュアライズする方法について説明します。

CData ODBC ドライバとは?

CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。

  1. Databricks をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
  2. 多様なアプリケーション、ツールにDatabricks のデータを連携
  3. ノーコードでの手軽な接続設定
  4. 標準 SQL での柔軟なデータ読み込み・書き込み

CData ODBC ドライバでは、1.データソースとしてDatabricks の接続を設定、2.R 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。

CData ODBC ドライバのインストールとDatabricks への接続設定

まずは、本記事右側のサイドバーからDatabricks ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。

接続プロパティの指定がまだの場合は、まずODBC DSN (データソース名)で接続設定を行います。これはドライバーのインストール時に自動的に立ち上がります。Microsoft ODBC データソースアドミニストレーターを使ってODBC DSN を作成および設定できます。

Databricks 接続プロパティの取得・設定方法

Databricks クラスターに接続するには、以下のプロパティを設定します。

  • Database:Databricks データベース名。
  • Server:Databricks クラスターのサーバーのホスト名
  • HTTPPath:Databricks クラスターのHTTP パス。
  • Token:個人用アクセストークン。この値は、Databricks インスタンスのユーザー設定ページに移動してアクセストークンタブを選択することで取得できます。
Databricks インスタンスで必要な値は、クラスターに移動して目的のクラスターを選択し、Advanced Options の下にあるJDBC/ODBC タブを選択することで見つけることができます。

Databricks への認証

CData は、次の認証スキームをサポートしています。

  • Basic
  • 個人用アクセストークン
  • Azure Active Directory(AD)
  • Azure サービスプリンシパル
  • OAuthU2M
  • OAuthM2M

Basic

Basic 認証には、ユーザー名とパスワードが必要です。以下を設定します。

  • AuthSchemeBasic
  • User:ユーザーネーム。これはデフォルト値("Token")をオーバーライドします。
  • Token:パスワード。

その他の認証方法については、ヘルプドキュメント の「はじめに」セクションを参照してください。

RODBC パッケージをロード

ドライバーを使うにはRODBC パッケージをダウンロードします。RStudio で[Tools]>[Install Packages]をクリックし、RODBC を[Packages]ボックスに入力します。

RODBC パッケージをインストールしたら、次のコードを入力してパッケージをロードします。

library(RODBC)

ODBC データソースとしてDatabricks のデータに連携

次のコードを使ってR のDSN に接続できます:

conn <- odbcConnect("CData Databricks Source")

スキーマ検出

ドライバーはDatabricks API をリレーショナルデータベース、ビュー、ストアドプロシージャとしてモデル化します。次のコードを使ってテーブルリストを検出します。

sqlTables(conn)

SQL クエリの実行

sqlQuery 関数を使ってDatabricks API がサポートするすべてのSQL クエリを実行します。

customers <- sqlQuery(conn, "SELECT City, CompanyName FROM Customers WHERE Country = 'US'", believeNRows=FALSE, rows_at_time=1)

次のコマンドを使って、結果を[data viewer]ウィンドウで見ることができます。

View(customers)

Databricks のデータをプロット

これで、CRAN レポジトリで利用可能なあらゆるデータビジュアライゼーションパッケージを使ってDatabricks を分析できます。ビルトインのbar plot 関数を使って簡単なバーを作成できます:

par(las=2,ps=10,mar=c(5,15,4,2)) barplot(customers$CompanyName, main="Databricks Customers", names.arg = customers$City, horiz=TRUE) A basic bar plot. (Salesforce is shown.)

Databricks からR へのデータ連携には、ぜひCData ODBC ドライバをご利用ください

このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。

CData ODBC ドライバは日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。