Treasure Dataからrubyで結果を取得する。
gemをインストール
Gemfile
gem 'td-client'
gem 'multimap'
インストール
bundle install
rakeを作成
config/initializers/td_select.rb
# -*- coding: utf-8 -*-
require 'td-client'
require 'multimap'
namespace :td do
desc ''
task :sample => :environment do
p "start"
# This is a script that
# get the difference from TreasureData by timestamp
apikey = ENV['TREASURE_DATA_API_KEY']
db = "db_name"
table = "pageview"
query = "SELECT v['session_id'],v['path_info'] FROM #{table} order by time desc limit 100"
cln = TreasureData::Client.new(apikey)
job = cln.query(db, query)
until job.finished?
sleep 2
job.update_status!
end
job.update_status! # get latest info
multimap = Multimap.new
if job.success? && job.finished?
logs = []
job.result_each do |row|
session_id = row[0]
path_info = row[1]
multimap[session_id] = path_info
end
end
pp multimap.keys
end
end
rake task を実行
bundle exec rake td:sample