今すぐお試しください!

製品の詳細CData ODBC Driver for Amazon Redshift を確認して、無償評価版をダウンロード:

今すぐダウンロード

Redshift データをR で分析

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



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

R をインストール

マルチスレッドのMicrosoft R Open を実行すること、またはBLAS/LAPACK ライブラリにリンクされたオープンR を実行することによって、マルチスレッドおよびマネージドコードからドライバーのパフォーマンスにマッチできます。ここでは、Microsoft R Open 3.2.3 を使用します。CRAN レポジトリのJan. 1, 2016 snapshot からパッケージをインストールするために事前設定されています。このsnapshot は再現性を保証します。

Redshift ODBC Data Source としてRedshift に連携

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

Redshift への接続には次を設定します:

  • Server: 接続するデータベースをホストしているクラスタのホスト名およびIP アドレス。
  • Port: クラスタのポート。
  • Database: データベース名、ブランクの場合ユーザーのデフォルトデータベースになります。
  • User: ユーザー名。
  • Password: ユーザーのパスワード。

Server およびPort の値はAWS の管理コンソールで取得可能です:

  1. Amazon Redshift console (http://console.aws.amazon.com/redshift) を開く。
  2. Clusters ページで、クラスタ名をクリック。
  3. クラスタのConfiguration タブで、表示された接続文字列からクラスタのURL をコピーします。

    RODBC パッケージをロード

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

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

    library(RODBC)

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

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

    conn <- odbcConnect("CData Redshift Source")

    スキーマ検出

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

    sqlTables(conn)

    SQL クエリの実行

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

    orders <- sqlQuery(conn, "SELECT ShipName, ShipCity FROM Orders", believeNRows=FALSE, rows_at_time=1)

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

    View(orders)

    Redshift データをプロット

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

    par(las=2,ps=10,mar=c(5,15,4,2)) barplot(orders$ShipCity, main="Redshift Orders", names.arg = orders$ShipName, horiz=TRUE)
 
 
ダウンロード