Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Japan.R 2018 LT

4bad680fc1cea436fa59f8fa763ea9f8?s=47 chengvt
December 01, 2018

Japan.R 2018 LT

4bad680fc1cea436fa59f8fa763ea9f8?s=128

chengvt

December 01, 2018
Tweet

Transcript

  1. でRをバッチで回す Japan.R 2018 LT 2018.12.01 @chengvt り

  2. 自己紹介 nickname: チェン job: メディア系会社で二年目のアナリスト hobby:登山 R package: chengvt/MovingBubbles

  3. Motivation • アドホック分析用データ作成+モデルを周期的に回すため、定型処理 をバッチ化したくなる • 手元のサーバで以前cron使いましたが、digdagというワークフロー エンジンに乗り換えました • 本日はdigdagでR処理を回す例を紹介

  4. デモ やりたいこと 今年8月に生まれたパンダちゃんの 最新体重の推移を知りたい (名前投票受付中らしい)

  5. パンダちゃんの体重はツイッター で毎日公開されています @aws_official

  6. Rスクリプトを用意する • get_panda.R – twitterから最新情報を取得し、ファイルに保存 • plot_panda.R – 体重推移をプロットし、ファイルに保存

  7. 定形処理をバッチ化 で楽な作業に! スクリプトがあっても定期的 に実行するのは大変

  8. digdagをサーバにインストール 詳細:https://www.digdag.io/

  9. digファイルを書く 日本時間を使ってね 毎日17時に回してね これらのRスクリプト回 してね

  10. ワークフローの登録 * セークレット利用やもっとカスタマイズする場合はdigdag schedulerではなくて、digdag server + digdag pushが良さそう * 「nohup

    コマンド &」で端末を閉じてもログアウトしても処理を続ける digdag scheduler -n 1234 -b 127.0.0.1 Runs a workflow scheduler that runs schedules periodically. This picks up all workflow definition files named with .dig suffix at the current directory. ポート アドレス ワーキングフォルダー で実行して完了
  11. UIがあって、Webブラウザで見れるよ 設定したアドレスとポートでアクセス 例: http://127.0.0.0:1234

  12. 便利なプラグインもあるよ • digdag-slack https://github.com/szyn/digdag-slack

  13. まとめ • digdagでRをバッチで回す例を紹介した