はじめに
TreasureData
のコマンドラインインターフェース(以降CLI
)のインストール方法をまとめておこうと思う。
TreasureData ToolBelt
とも呼ばれるけど、どちらが正しいかは分かっていない。。。
Rubygemsで一発でインストールできるけど、Rubyのバージョンが1.9以上じゃないと動かないのでその辺も含めて記録しておく。
以下環境情報。
- CentOS: 6.5
- あるクラウド事業者のテンプレートで起動直後の状態
以下前提条件
- TreasureDataのアカウントを持っている。
Rbenv + Ruby 環境の構築
Rbenv
はRubyの複数バージョンをインストールして、rbenv
コマンドで自由に切り替えることができるので便利。
ここではRbenv
環境にrubyをインストールする手順を記載しています。
この辺は既存の記事がもう紹介してくれてるけど、ここでも記載しておく。
まずはssh
なりでサーバにログインして、rubyのバージョンを確認する。
$ ruby --version
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
$
rubyのversion
が1.9以上なら本章の以降の手順は必要ない。
この章が大部分を占めているけど。。。
以降で必要になるパッケージをインストールする。
$ sudo yum install gcc make openssl openssl-devel
上記のパッケージが入っているならば上記の手順は不要。
次にrbenv環境構築をサーバにダウンロード。
$ cd /usr/local/
$ git clone git://github.com/sstephenson/rbenv.git rbenv
$ mkdir -p rbenv/shims rbenv/versions
$ groupadd rbenv
$ chgrp -R rbenv rbenv/
$ chmod -R g+rwxXs rbenv
$ git clone git://github.com/sstephenson/ruby-build.git rbenv/ruby-build
$ cd rbenv/ruby-build
$ sudo ./install.sh
次にログイン時に自動でPath
が設定されるように以下のファイルを作成。
export RBENV_ROOT="/usr/local/rbenv"
export PATH="/usr/local/rbenv/bin:$PATH"
eval "$(rbenv init -)"
アクセス権限の変更。
$ chmod 755 /etc/profile.d/rbenv.sh
$ . /etc/profile.d/rbenv.sh # 設定反映
$ rbenv install --list
...
2.1.0
2.1.1
2.1.2
2.1.3
2.2.0-dev
2.2.0-preview1
...
最新の安定版のrubyのversionは2.1.3らしいので、2.1.3をインストールする。
$ rbenv install -v 2.1.3
結構時間がかかります、しばしお待ちを。
インストールが終わったら以下のコマンドでrubyのversionを2.1.3に変更します。
$ rbenv versions
* system (set by /usr/local/rbenv/version)
2.1.3
$ rbenv global 2.1.3
$ rbenv versions
system
* 2.1.3 (set by /usr/local/rbenv/version)
$ ruby --version
ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-linux]
$
これでRubyの最新化ができました。
TreasureData CLIのインストール
Rubyのパッケージ管理ツールRubyGems
は既にインストール済みなので、以下のコマンドでCLIツールをインストールする。
$ gem install td
これも結構時間がかかる。
/usr/local/rbenv/shims/td
にインストールされるはずだけど、たまに反映されていないのでそのときはログアウト、ログインしてください。
$ td --version
0.11.4
$
これでCLIツールがインストールされました。
簡単に使ってみる
ログインしてみる。
今回は??版TreasureDataにログインする。
$ export TD_API_SERVER=https://ybi.jp-east.idcfcloud.com
$ td account -f
Enter your Treasure Data credentials.
Email: ${email_address}
Password (typing will be hidden):
Authenticated successfully.
Use 'td db:create <db_name>' to create a database.
$
EmailとPasswordにTreasureDataのアカウント情報を入力する。
DB, Talbeの作成。
$ td db:create ${db_name}
$ td table:create ${db_name} ${table_name}
データアップロード。
$ td import:auto --format tsv --auto-create ${db_name}.${table_name} --parallel 8 --prepare-parallel 8 --column-header -o /ext4/td_out/ --time-column 'time' --time-format "%Y-%m-%d %H:%M:%S" ${import_data}.tsv
以下アップロードファイル内容。
一行目がカラム名で以降がデータ行。
host path method referer code agent time
48.45.67.130 /category/computers GET - 200 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.1) Gecko/20100101 Firefox/10.0.1 2013-05-14 16:53:22
124.192.166.98 /search/?c=Giftcards POST /category/sports 200 Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0) 2013-05-14 16:53:22.010000
176.183.137.115 /category/finance GET - 200 Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) 2013-05-14 16:53:22.020000
192.183.92.55 /item/software/4777 GET - 200 Mozilla/5.0 (iPad; CPU OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3 2013-05-14 16:53:22.030000
48.66.40.214 /category/networking GET - 200 Mozilla/5.0 (Windows NT 6.0; rv:10.0.1) Gecko/20100101 Firefox/10.0.1 2013-05-14 16:53:22.040000
144.132.188.212 /item/electronics/2649 GET /item/electronics/1996 200 Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:9.0.1) Gecko/20100101 Firefox/9.0.1 2013-05-14 16:53:22.050000
36.171.84.59 /category/finance GET - 200 Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11 2013-05-14 16:53:22.060000
204.204.116.114 /item/toys/3282 GET - 200 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.1) Gecko/20100101 Firefox/10.0.1 2013-05-14 16:53:22.070000
100.27.141.84 /item/software/2012 GET /category/cameras?from=0 200 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.1) Gecko/20100101 Firefox/10.0.1 2013-05-14 16:53:22.080000
おしまい。