2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

TREASURE DATAさわってみた、まとめ

Last updated at Posted at 2020-05-31

TREASURE DATAとは

データやログを収集・分析し、ビジネスへ生かす、カスタマーデータプラットフォームである。(=CDP)

データの収集 >>> 統合・分析・セグメンテーション >>> 施策への連携(レポート・広告配信・マーケティング)

TREASURE DATAは、Arm社に買収されたので、ソフトバンクグループの投資先の1つになっているのですね。

参考

CDPとは

こちらを。。

参考

TreasureDataのWorkflowという機能について

SQL実行をスケジュール起動するサービスです。
タスクという単位でSQL等に依存関係を持たせることができます。(SQL①が動いてから、②が動くなど)

例えば、データのインポートやエクスポートのSQLを日次08:00で実行するなど。

Workflowというサービスは、内部的には、OSSで公開されているdigdagというソフトを使用しています。
そのため、digdagで調べたことは、だいていWorkflowに適用可能です。

参考

ワークフロー定義 ★digdagの公式サイトがわかりやすい!
https://docs.digdag.io/workflow_definition.html

treasuredata スタートガイド
https://support.treasuredata.com/hc/ja

Digdagのワークフロー定義について理解する
https://dev.classmethod.jp/articles/understanding-digdag-workflow-definition/

Treasure Workflow for ビギナー 環境構築編
https://blog.torut.tokyo/entry/2017/08/01/233655

Treasure Workflow for ビギナー ~digファイル書き方編~
https://blog.torut.tokyo/entry/2017/08/01/070000

digdagでエラーを無視して後続タスクを進める
https://qiita.com/fk8_jp/items/ef6871549d737ada7da2

Workflowのサンプル(selectで取得したデータをcopyコマンドで別のデータベース>テーブルにコピーする)

sample.dig

# タイムゾーン
timezone: Asia/Tokyo

# スケジュール
schedule:
  cron>: 0 12 * * *

# タスク(+XXX 好きな名前を付けたらいい)
+task1
  #オペレータ(XXX> ココ参考→https://docs.digdag.io/operators.html)
  td>
  query: select * from [テーブル名]
  result_connection: [treasureに設定した、接続DBの名前]
  #すいません、ここから下自信なし。忘れ気味。。
  result_settings:
    database:[データベース名]
    schema:[スキーマ名]
    type:[truncate or replace or append or update]
    unique:[※update時のみ必須 何が重複したら更新するか。カンマ区切り]
    methodo:copy [copy or XXX ※copyはcopyコマンド]

参考
・tdオペレータの説明
https://docs.digdag.io/operators/td.html

実体験メモ

  • workflowのscheduleは、cron以外(daily)だと、workflow>run historyのsessionタイムが正しく表示されない。常に12時になるとか。
  • workflow>run historyのsession timeはスケジュールの時間(スケジュール起動以外だと現在日時)、attempt timeは実際実行された時間
  • sqlには使用しているDBの関数以外に、Treasureの独自定義関数が使用できる。
    https://support.treasuredata.com/hc/ja/articles/115011438008-%E5%88%9D%E7%B4%9A%E3%83%8F%E3%83%B3%E3%82%BA%E3%82%AA%E3%83%B3-TD%E9%96%A2%E6%95%B0-%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%83%AD%E3%82%B0%E7%B7%A8-
     独自定義関数は、パフォーマンスもよく、SQLが簡潔になるらしい。
     関数TD_SCHEDULED_TIMEには、workflow>run historyのsession timeと同じ時間が設定される。
     Time Indexを設定しているデータベースの場合は、以下にTime Indexをきかせるかが大事らしい。
  • workflow>run history>outputlog には、実行時のログが記録されている。どういう動きをしているかを確認しやすい。
     例えば、workflowでデータを登録するときに、"method:copy"を使用すると内部的にどう動くのだろうとoutputlogをみると、普通にcopyコマンド使っていることがわかる。
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?