この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
はじめに
TreasureDataには、Queryを実行し、結果をTableauServerにパブリッシュする機能が備わっております。この機能はTreasureDataの画面より使用することもできますが、td-clientを使用してRubyから実行することも可能です。画面からは以下のようにTableauServerのバージョンを指定できるのですが、Rubyからも指定出来るのかを検証してみました。
サンプルソース
結論からすると、td-clientを使用してTableauServerのバージョンを指定することができました。以下のようなソースとなります。
require 'td-client'
TD_API_KEY = 'your api key'
cln = TreasureData::Client.new(TD_API_KEY, {ssl: true})
job = cln.query('sample_db',
'SELECT zipcode, time FROM prefectures where zipcode = 600031',
result_url='tableau://username:password@tableau_server_url/data_source_name?mode=replace&server_version=9.0')
until job.finished?
sleep 2
job.update_progress!
end
job.update_status!
puts job.result.to_json
td-clientのquery()メソッドのresult_urlに、パブリッシュ先のTableauServerの情報を渡しています。バージョンの指定については、URLパラメータとして「server_version=」以降に記述することで無事パブリッシュをすることができました。
簡単ですが、以上です。