各製品の資料を入手。
詳細はこちら →CouchDB のデータをR で分析:ODBC での接続
データビジュアライゼーション、ハイパフォーマンスな統計関数を使ってCouchDB をMicrosoft R Open で分析。
最終更新日:2022-04-05
こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
R スクリプトおよび 標準SQL を使ってCouchDB にアクセス。CData ODBC Driver for ApacheCouchDB とRODBC package を使って、R でリモートCouchDB を利用できます。CData Driver を使うことで、オープンソースでポピュラーなR 言語のデータにアクセスできます。この記事では、ドライバーを使ってCouchDB にSQL クエリを実行する方法、およびR でCouchDB をビジュアライズする方法について説明します。
CData ODBC ドライバとは?
CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。
- CouchDB をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
- 多様なアプリケーション、ツールにCouchDB のデータを連携
- ノーコードでの手軽な接続設定
- 標準 SQL での柔軟なデータ読み込み・書き込み
CData ODBC ドライバでは、1.データソースとしてCouchDB の接続を設定、2.R 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
CData ODBC ドライバのインストールとCouchDB への接続設定
まずは、本記事右側のサイドバーからApacheCouchDB ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
接続プロパティの指定がまだの場合は、まずODBC DSN (データソース名)で接続設定を行います。これはドライバーのインストール時に自動的に立ち上がります。Microsoft ODBC データソースアドミニストレーターを使ってODBC DSN を作成および設定できます。
Apache CouchDB 接続プロパティの取得・設定方法
Url 接続プロパティをApache CouchDB インスタンスのURL に設定します。例:http://localhost:5984
ユーザー(またはJWT)が特定のデータベースだけにアクセスできるようにしたい場合は、Apache CouchDB インスタンスで"admin_only_all_dbs" オプションを設定し、テーブルをリストするために本製品が必要とする"/_all_dbs" エンドポイントへのアクセス権をすべてのユーザーに付与する必要があります。
Apache CouchDB への認証
3種類の認証をサポートします。- Basic:基本的なユーザー名 / パスワード認証。
- JWT:JWT 認証。
- None:パブリックなデータベースへの匿名アクセス。
Basic 認証
データに接続するには以下を設定します。
- AuthScheme:Basic。
- User:認証に使用されるApache CouchDB ユーザーアカウント。
- Password:認証するユーザーに関連付けられたApache CouchDB パスワード。
その他の認証方法は、ヘルプドキュメント の「接続の確立」セクションを参照してください。
RODBC パッケージをロード
ドライバーを使うにはRODBC パッケージをダウンロードします。RStudio で[Tools]>[Install Packages]をクリックし、RODBC を[Packages]ボックスに入力します。
RODBC パッケージをインストールしたら、次のコードを入力してパッケージをロードします。
library(RODBC)
ODBC データソースとしてCouchDB のデータに連携
次のコードを使ってR のDSN に接続できます:
conn <- odbcConnect("CData CouchDB Source")
スキーマ検出
ドライバーはCouchDB API をリレーショナルデータベース、ビュー、ストアドプロシージャとしてモデル化します。次のコードを使ってテーブルリストを検出します。
sqlTables(conn)
SQL クエリの実行
sqlQuery 関数を使ってCouchDB API がサポートするすべてのSQL クエリを実行します。
movies <- sqlQuery(conn, "SELECT MovieRuntime, MovieRating FROM Movies WHERE MovieRating = 'R'", believeNRows=FALSE, rows_at_time=1)
次のコマンドを使って、結果を[data viewer]ウィンドウで見ることができます。
View(movies)
CouchDB のデータをプロット
これで、CRAN レポジトリで利用可能なあらゆるデータビジュアライゼーションパッケージを使ってCouchDB を分析できます。ビルトインのbar plot 関数を使って簡単なバーを作成できます:
par(las=2,ps=10,mar=c(5,15,4,2))
barplot(movies$MovieRating, main="CouchDB Movies", names.arg = movies$MovieRuntime, horiz=TRUE)

CouchDB からR へのデータ連携には、ぜひCData ODBC ドライバをご利用ください
このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。
CData ODBC ドライバは日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。