embulkを使ってTreasure Dataにjsonl形式のデータを流し込んでみました。

データ

  • データソース:fluentd経由で取得したTwitterのツイート(Twitter Streaming API)
  • 格納先:S3
  • データ形式:jsonl
  • 圧縮方式:gzip

embulkの設定・実行

インストール方法は本家を参照→embulk/embulk: Embulk: Pluggable Bulk Data Loader. http://www.embulk.org

各種プラグインのインストール

config.ymlはこんな感じで

timestamp_msはstringで格納されていて、time_columnで利用するため、long型にキャストします。そのため、typecastフィルタを利用しています。timestampのフォーマットでミリ秒を指定する方法があれば、それで対応する方が良いかも。

TreasureDataのAPIキーは右上のMy profileのAPI Keysから取得します。(上のMaster API keysを利用します)

td_api_keys

あとはembulkを実行してインポートするだけ

TreasureDataを触ってみる

こんな感じのクエリを書いて実行してみました。

結果はこんな感じ

td_result

RTで西野七瀬が含まれている率が高い…。きっと「拡散希望、リツイートした人全員フォロー」のアレです。

その他

1ファイルじゃなくて複数ファイルアップロードしようとしたところ、以下のエラーでアップロードできませんでした…。

Timeout値を変更するパラメータがまだ実装されていないっぽいので、ローカルで直して試してみよっかなー