各製品の資料を入手。
詳細はこちら →CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
Pure R スクリプトおよび 標準SQL を使って、R およびJava をインストール可能なあらゆるマシン上でIBM Cloud Object Storage にアクセス。CData JDBC Driver for IBMCloudObjectStorage とRJDBC package を使って、R でリモートIBM Cloud Object Storage データ を利用できます。CData Driver を使うことで、業界が認めた基準で書かれたドライバーを活用して、オープンソースでポピュラーなR 言語のデータにアクセスできます。この記事では、ドライバーを使ってIBM Cloud Object Storage にSQL クエリを実行する方法、および標準R 関数を呼び出してIBM Cloud Object Storage をビジュアライズする方法について説明します。
マルチスレッドのMicrosoft R Open を実行すること、またはBLAS/LAPACK ライブラリにリンクされたオープン R を実行することによって、マルチスレッドおよびマネージドコードから利益を得られたドライバーのパフォーマンスにマッチできます。ここでは、Microsoft R Open 3.2.3 を使用します。CRAN レポジトリのJan. 1, 2016 snapshot からパッケージをインストールするために事前設定されています。このsnapshot は再現性を保証します。
ドライバーを使うにはRJDBC パッケージをダウンロードします。RJDBC パッケージをインストールしたら、次のコードを入力してパッケージをロードします。
library(RJDBC)
下記の情報を使いIBM Cloud Object Storage にJDBC データソースとして接続します。
dbConnect やdbSendQuery のようなDBI 関数は、R にデータアクセスコードを書くための統一インターフェースを提供します。
driver <- JDBC(driverClass = "cdata.jdbc.ibmcloudobjectstorage.IBMCloudObjectStorageDriver", classPath = "MyInstallationDir\lib\cdata.jdbc.ibmcloudobjectstorage.jar", identifier.quote = "'")
これで、DBI 関数を使ってIBM Cloud Object Storage に接続しSQL クエリを実行する準備が整いました。dbConnect 関数を使ってJDBC 接続を初期化します。一般的なJDBC 接続文字列は次のとおりです。
conn <- dbConnect(driver,"ApiKey=myApiKey;CloudObjectStorageCRN=MyInstanceCRN;Region=myRegion;OAuthClientId=MyOAuthClientId;OAuthClientSecret=myOAuthClientSecret;")
Cloud Object Storage に接続する前に、Cloud Object Storage インスタンスを登録してCloud Object Storage API キーとCRN を取得していきます。
IBM Cloud アカウントにCloud Object Storage がまだない場合は、以下の手順に従ってアカウントにSQL Query のインスタンスをインストールできます。
API キーは以下の手順で取得できます。
デフォルトでは、CData 製品はCloud Object Storage CRN を自動で取得します。ただし、複数のアカウントがある場合は、CloudObjectStorageCRN を明示的に指定する必要があります。この値は、次の2つの方法で取得できます。
これで準備は完了です。以下の接続プロパティを設定してください。
プロパティを設定したら、これで接続設定は完了です。
ドライバーはIBM Cloud Object Storage API をリレーショナルデータベース、ビュー、ストアドプロシージャとしてモデルします。次のコードを使ってテーブルリストを検出します。
dbListTables(conn)
dbGetQuery 関数を使ってIBM Cloud Object Storage API がサポートするすべてのSQL クエリを実行できます:
objects <- dbGetQuery(conn,"SELECT Key, Etag FROM Objects WHERE Bucket = 'someBucket'")
次のコマンドを使って、結果を[data viewer]ウィンドウで見ることができます。
View(objects)
CRAN レポジトリで利用可能なあらゆるデータ初期化パッケージを使ってIBM Cloud Object Storage を分析する準備が整いました。ビルトインバーのplot 関数を使って簡単なバーを作成できます。
par(las=2,ps=10,mar=c(5,15,4,2)) barplot(objects$Etag, main="IBM Cloud Object Storage Objects", names.arg = objects$Key, horiz=TRUE)