R から JDBC 経由でPrintifyののデータを分析

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
CData JDBC Driver for Printify を使って、お好みの開発環境と標準的な R 関数でPrintify のデータを分析できます。

R と Java がインストールされている環境であれば、純粋な R スクリプトと標準的な SQL を使用してPrintify のデータにアクセスできます。CData JDBC Driver for Printify と RJDBC パッケージを使えば、R からリモートのPrintify のデータを操作できます。CData Driver を使用することで、業界で実績のある標準規格に準拠したドライバーを活用し、人気のオープンソース言語 R でデータにアクセスできます。この記事では、ドライバーを使ってPrintifyに SQL クエリを実行し、標準的な R 関数を呼び出してPrintify のデータを可視化する方法を説明します。

R のインストール

マルチスレッドとマネージドコードによるドライバーのパフォーマンス向上を最大限に活かすには、マルチスレッド対応の Microsoft R Open を使用するか、BLAS/LAPACK ライブラリとリンクされたオープンソース R を使用します。この記事では Microsoft R Open 3.2.3 を使用しています。このバージョンは、2016年1月1日時点の CRAN リポジトリのスナップショットからパッケージをインストールするように事前設定されており、再現性が確保されています。

RJDBC パッケージの読み込み

ドライバーを使用するには、RJDBC パッケージをダウンロードしてください。 RJDBC パッケージをインストールしたら、以下のコードでパッケージを読み込みます。

library(RJDBC)

Printifyに JDBC データソースとして接続

Printifyに JDBC データソースとして接続するには、以下の情報が必要です。

  • Driver Class: cdata.jdbc.api.APIDriver に設定します。
  • Classpath: ドライバー JAR ファイルの場所を設定します。デフォルトでは、インストールフォルダの lib サブフォルダです。

dbConnect や dbSendQuery などの DBI 関数は、R でデータアクセスコードを記述するための統一されたインターフェースを提供します。以下のコードで、CData JDBC Driver for Printify に JDBC リクエストを行う DBI ドライバーを初期化します。

driver <- JDBC(driverClass = "cdata.jdbc.api.APIDriver", classPath = "MyInstallationDir\lib\cdata.jdbc.api.jar", identifier.quote = "'")

これで DBI 関数を使用してPrintifyに接続し、SQL クエリを実行できます。dbConnect 関数で JDBC 接続を初期化します。

まず、Profile 接続プロパティにPrintify プロファイルのディスク上の場所を設定します(例:C:\profiles\Profile.apip)。次に、ProfileSettings 接続プロパティにPrintify の接続文字列を設定します(以下を参照)。

Printify API プロファイル設定

Printify に認証するには、API Key を提供する必要があります。API Key を取得するには、My Profile に移動し、次にConnections に移動します。Connections セクションで、Personal Access Token(API Key)を生成し、Token Access Scopes を設定できます。Personal Access Token の有効期限は1年間です。有効期限が切れたPersonal Access Token は、同じ手順で再生成できます。ProfileSettings プロパティにPersonal Access Token をAPI Key として設定して接続します。

組み込みの接続文字列デザイナー

JDBC URL の構築には、Printify JDBC Driver に組み込まれている接続文字列デザイナーが便利です。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行してください。

java -jar cdata.jdbc.api.jar

接続プロパティを入力し、接続文字列をクリップボードにコピーします。

以下は、一般的な JDBC 接続文字列を含む dbConnect 呼び出しの例です。

conn <- dbConnect(driver,"jdbc:api:Profile=C:\profiles\Printify.apip;ProfileSettings='APIKey=your_personal_token';")

スキーマの検出

このドライバーは、Printify API をリレーショナルテーブル、ビュー、ストアドプロシージャとしてモデル化します。以下のコードでテーブルの一覧を取得できます。

dbListTables(conn)

SQL クエリの実行

dbGetQuery 関数を使用して、Printify API でサポートされている任意の SQL クエリを実行できます。

tags <- dbGetQuery(conn,"SELECT Id, ShippingMethod FROM Tags WHERE Status = 'pending'")

以下のコマンドで、結果をデータビューアウィンドウに表示できます。

View(tags)

Printify のデータのプロット

これで、CRAN リポジトリで利用可能なデータ可視化パッケージを使ってPrintify のデータを分析できます。組み込みのバープロット関数でシンプルな棒グラフを作成できます。

par(las=2,ps=10,mar=c(5,15,4,2))
barplot(tags$ShippingMethod, main="Printify Tags", names.arg = tags$Id, horiz=TRUE)

はじめる準備はできましたか?

API Driver で Printify のライブデータに接続

Printify に接続 お問い合わせ