»RedshiftとRでビッグデータ解析https://aws.typepad.com/sajp/2014/03/redshift%E3%81%A8r%E3%81%A7%E3%83%93%E3%83%83%E3%82%B0%E3%83%87%E3%83%BC%E3%82%BF%E8%A7%A3%E6%9E%90.htmlRedshiftとRでビッグデータ解析AWSソリューションアーキテクトの蒋(@uprush)です。Redshiftは、非常に多くの皆様に利用頂いています。そのなかでも特に多いのは、Redshiftに保存されているビッグデータをBIや可視化ツールを使った解析です。データ解析ツールとしてRが有名です。Rは統計分析や可視化するためのオープンソースソフトウェアで、データマイニングや分析などの分野で広く使われています。RはJDBCを利用してデータベースにアクセスすることができます。Redshiftは標準的なSQLが利用可能で、PostgresSQLのJDBC・ODBCドライバをそのまま使用することができるため、この2つを組み合わせるとRからRedshiftにもアクセスできます。RedshiftとRを利用して、インタラクティブ、かつ高度なビッグデータ分析を低いコストで分析することが可能になります。Serverから、Redshiftに保存されているApacheアクセスログをRを使って、エラーリクエストのステータスコードの割合グラフを生成する、この一連のプロセスをご紹介したいと思います。RセットアップRはUbuntuやCentOSのパッケージがあるのでセットアップは簡単です。ここではEC2のUbuntuインスタンスにてRをインストールします。r-baseRのインストールが終わったら、次はグラフ生成用のRパッケージをインストールします。RというRパッケージがあります。こちらもインストールします。RJDBCをインストール。ServerRStudioはRの総合開発環境です。RStudioはデスクトップ版とサーバー版があります。Serverを採用します。Serverがデフォルトで8787番ポートでクライアントのリクエストを受けます。Serverをアクセスさせることもできます。今回は以下のようにNginxを利用してproxy設定をしました。Groupに、8787番ポート、またはproxyを利用する場合は80番ポートを開けるが必要ありますので忘れないようにしましょう。ここで設定が完了です。Serverのコントロール画面にアクセスしてみよう。http://ec2-xxxx.compute.amazonaws.com/rstudio/ログイン画面が表示されますので、該当EC2のLinuxユーザーアカウントでログインします。ユーザーが存在しない場合、EC2にSSHで入ってユーザー作成が必要です。ServerにログインするユーザーはRコマンドがパスを通っていること、そしてホームディレクトリが存在することを条件としています。ログイン後の画面はこのようになります。試しに、Redshiftのapache_logsテーブルのデータから、エラーリクエストのステータスコードの割合グラフを生成してみましょう。Serverコントロールの左側パーネルに、下記サンプルコードを入力します。Codes")Enterを押すと分析結果や右下にエラーコードの割合グラフが生成されます。まとめ簡単な例でしたが、RedshiftとRを使ったビッグデータ解析をあげてみました。ユーザーの行動分析、キャンペーンで獲得したユーザーと通常のユーザーの月間課金率の比較など、Redshiftに保存されている膨大なデータからRを使って更に高度な分析が可能になります。Facebookこのブログの最新情報はTwitter、Facebookでもお知らせしています。お気軽にフォローください。