SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ビジネスデータ解析のためのSQL入門

“あなたの会社をデータ駆動にする”オープンソースBIツール「Re:dash」でSQL分析結果を可視化しよう

ビジネスデータ解析のためのSQL入門 第4回


  • X ポスト
  • このエントリーをはてなブックマークに追加

インストール

 まず、Re:dashの導入について解説します。Re:dashをインストールするには以下の方法があります。詳しくは公式Webサイトのドキュメントに記載されています。

  • AWS(Amazon Web Service)のインスタンスイメージを利用する
  • GCP(Google Cloud Platform)のインスタンスイメージを利用する
  • Docker Composeを利用する
  • Provisioning Scriptを利用する

 今回は、macOS上で手軽に動作環境を作るためにDockerを利用する方法を用います。なお、Windowsの場合もWindows用Dockerを用いることにより、手順はほぼ同じになります。

Docker環境を準備する

 Docker公式Webサイトから「Docker For Mac」をダウンロードし、インストールします。

 これによりDockerやDocker Machine、Docker Composeなど、今回必要なツール群がインストールされます。Docker MachineはDockerコンテナ群を管理するDockerホストを簡単に立ち上げるツール、Docker Compseは複数コンテナの管理を楽にするツールです。

 Dockerのホストのインスタンスは仮想化ツールのParallelsで構築します。

 VirtualBoxなど、ほかの仮想化ツールを利用する場合も基本的に手順は同じです。利用する仮想化ツールは最新版を利用してください。

 まず、HomebrewでParallels用ドライバを導入します。なお、VirtualBoxを利用する場合、ドライバは標準でDockerに組み込まれているためこの手順は不要です。

$ brew install docker-machine-parallels

 次にDocker Machineを使って、ParallelsをドライバにしたDockerホストを作り、起動します。

$ docker-machine create --driver=parallels codezine-host

 これでローカルホスト内にcodezine-hostという名前のDockerホストが起動します。

 次のコマンドを実行すると、Dockerホストの環境情報が出力されます。

$ docker-machine env codezine-host
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://1.2.3.4:2376"
export DOCKER_CERT_PATH="/Users/user_name/.docker/machine/machines/codezine-host"
export DOCKER_MACHINE_NAME="codezine-host"
# Run this command to configure your shell:
# eval $(docker-machine env codezine-host)

 指示通りに、eval $(docker-machine env codezine-host)を実行すると、シェルに環境変数が読み込まれます。Docker Composeはこの環境変数の値を確認してDockerホストのアドレスを特定します。シェルを新規に立ち上げたあとは毎回実行してください。

Docker ComposeでRe:dashを起動する

 次にRe:dashをインストールします。

 まずGitHubからレポジトリをcloneし、レポジトリのルートディレクトリへ移動します。

$ git clone https://github.com/getredash/redash.git
$ cd redash

 レポジトリに含まれるdocker-compose.yamlとdocker-compose.production.ymlが、Re:dash構築のためのDocker Compose用のファイルです。なお前者が開発環境用、後者が本番環境用です。今回は本番用を用います。

 このファイルにRe:dashの動作に必要なコンテナの設定情報が記載されており、docker-comoseコマンドに渡すと設定通りに環境が立ち上がります。

 データベース構築のため、以下のコマンドを実行します。

$ docker-compose -f docker-compose.production.yml run --rm server create_db[/s]
Docker ComposeでRe:dashを起動します。
[sg]
 $ docker-compose -f docker-compose.production.yml up

 docker-machine ipコマンドで出力されるIPアドレスがRe:dashが動いているIPです。

 $ docker-machine ip codezine-host

 ブラウザから「http://IPアドレス/」を入力して起動しているRe:dashにアクセスできます。

管理ユーザー設定画面
管理ユーザー設定画面

 Re:dashの最初の画面では管理者の設定が必要です。

 ユーザー名、パスワード(6文字以上)を設定します。ここではユーザー名をadminとしました。「Organization Name」には適当な組織名を入れてください。UIなどで使用されます。

 なお、DockerホストとDockerコンテナを停止する際は以下のコマンドを実行してください。

$ docker-machine stop codezine-host

 再び起動する場合は次のコマンドでそれぞれ起動してください。

$ docker-machine start codezine-host
$ eval $(docker-machine env codezine-host)
$ docker-compose -f docker-compose.production.yml up

Re:dashの新規データソースを設定する

 Re:dashのデータソースは、ヘッダの[Data Sources]メニューから設定します。新規データソースを作成し、データベースのアドレス、データベース名、接続アカウントなど必須項目を埋めます。ここでは前回までの連載記事で利用したPostgreSQLに接続してみます。

データソース設定
データソース設定

 データソース名は「Codezine」としました。[Test Connection]ボタンを押下して「SUCCESS」の表記が出れば接続完了です。成功しない場合はユーザー名などが間違っているか、パーミションなどが解決できていない状態のため、適宜解決しましょう。

次のページ
SQL分析結果のグラフ化

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
ビジネスデータ解析のためのSQL入門連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト 西 潤史郎(ニシ ジュンシロウ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook<個人紹介>フリーランスとしてデータ解析エンジニアとして主にビッグデータ関連の仕事をしています。TableauなどBIやビッグデータ処理などビジネスデータ解析環境の構築・運用、また解析系のアプリケーション開発やGoogleアナリティクス活用支援などを行っています。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10472 2017/10/19 19:43

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング