Treasure Dataのデータを利用するプログラム(Ruby編)

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【5/21開催】Azure OpenAI ServiceによるRAG実装ガイドを公開しました
生成AIを活用したユースケースで最も一番熱いと言われているRAGの実装ガイドを公開しました。そのガイドの紹介をおこなうイベントです!!
https://tech-lab.connpass.com/event/315703/

こんにちは、SSTDの大村です。セミナーも終わりゆっくりしていたいところですが、新しいお客様にもめぐり合え、忙しい日々をすごしています。うれしいかぎりです。これからもさまざまなお客様と出会えるように精進していきます。

 

今回はTresureDataを利用するプログラムを書いてみようと思います。Treasure Dataの基本機能でできないことも、プログラムから操作すれば思うがまま、自由自在ですね。操作自体はとっても簡単なので、あとは他のアプリケーションなどと接続するプログラミングをすればよいだけなのです。今回はRubyからの操作を見てみましょう。

まずはじめにTreasure Dataにデータを入力するRubyプログラムを書きます。今回利用するRubyはTreasure Data Toolbeltをインストールしたときに一緒に入っているRubyを利用します。これでバージョン互換などを気にすることなくTreasure Dataを利用することができます。

前準備

  1. Treasure Data Toolbeltインストール
  2. apikeyを取得

    $ td apikey:show
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  3. 取得したapikeyを環境変数TD_API_KEYに登録(登録しない場合はapikeyをプログラム内に直に書いてください)

データ入力用のプログラムの作成

データ入力用のプログラムを作成します。忘れずにRuby用のtdライブラリをロードします。

td.testdbのtestdbがTreasure Dataのデータベース名、TD.event.postの後ろにデータを追加するテーブル名を指定します。

このプログラムはtd-agentを利用しているので、td-agent.confを記述し、td-agentを作動させている必要があります。まず下のようにtd-agent.confを設定します。

データの流れはプログラムからlocalのポート24224にデータが送信され、その後、td-agentの機能でTreasure Dataにデータが送信されるので、sourceタグの記述を省略することはできませんので注意してください。

td-agentを再起動します。

$ sudo /etc/init.d/td-agent restart
Shutting down td-agent: [ OK ]
Starting td-agent: [ OK ]

実行します。

$ ./td_input.rb

確認してみましょう。

$ td tables
+———-+—————–+——+———–+———+——————+——–+
| Database | Table | Type | Count | Size | Last import | Schema|
+———-+—————–+——+———–+———+——————+——–+
| testdb | input_test_tbl | log | 1 | 0.0 GB | 2013-05-22 17:53:02 +0900 ||
| testdb | www_access | log | 5,000 | 0.0 GB | 2013-05-14 10:34:04 +0900 ||
+———-+—————–+——+———–+———+——————+——-+
2 rows in set

新しいテーブルが作成され、データが1件入力されているのが確認できました。

データ取得用のプログラム作成

最後にデータをTreasure Dataから取得するプログラムを作成します。今度はtd-clientライブラリをロードします。

クエリを投げて、先ほど入力したデータを取得し、画面に表示するだけのプログラムです。

実行します。

$ ./td_output.rb
[{“opt1″=>”AAA”, “opt2″=>”BBB”, “time”=>”1369212760”}, 1369212760]

先ほど入力したデータを出力することができました。

コード中に下記の記述するとjobidを確認することができます。これを利用してブラウザのコンソール画面からjobの詳細を確認することもできます。

job.job_id

ライブラリのインストールなども行わずにapikeyを利用するだけで簡単にTreasure Dataにアクセスすることができました。Treasure Dataの利用の幅が広がりますね。他にも標準ライブラリが用意されている言語がありますので、今後紹介いたします。

執筆:大村@SSTD

アバター画像
プロフェッショナルサービスチームの中の人。
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる