18. Key- value のシンプルな API
(v alue は 任 意 の JSON を返せる)
CSV ファイルを S 3 にアップロード
するだけでデータロードできる
汎用 API
バ ッ チ 基 盤 か ら P a n d a s D a t a F r a m e を 書 き 込 ん
だ り ( S D K を 用 意 )
df.to_api(...)
B i g Q u e r y の ク エ リ 結 果 を 書 き 込 ん だ り ( S Q L と
Y A M L を G i t h u b に 置 く だ け で 設 定 可 能 )
C l o u d D a t a f l o w で リ ア ル タ イ ム に 書 き 込 ん だ り
20. 機械学習のオンライン予測を提供する API
clo ud pickle で pickle 化した学習済みモ
デルを起動時に GCS からロードして利用
リクエスト JSON を DataF rame 化して
モデルに渡し、レスポンスを JSON 化 し て
返す
cetflow API
・・・
request dispatcher
1 モ デ ル ご と に k 8 s p o d が
デ プ ロ イ さ れ 、 そ れ を N g i n x
で ル ー テ ィ ン グ し て い る
後 述 の ジ ョ ブ 基 盤 ・ ア ド ホ ッ
ク 基 盤 と d o c k e r イ メ ー ジ を
共 通 化 し て い る
22. CET の API エコシステムはマイク
ロサービス的に複数のシステムを組
み合わせて利用できる
集約 API は、Pytho n 1 ファイル
書いて Github に push するだけ
で、その BF F API が作れる仕組み
社内の API は SDK を用意
resp = cetflow_serving.call(...)
集約 API
・・・
request dispatcher
1 A P I ご と に k 8 s p o d が デ プ ロ イ さ れ 、
そ れ を N g i n x で ル ー テ ィ ン グ し て い る
26. ログ収集基盤から Clo ud Pub/Sub で受け取ったログ
を Clo ud Dataf lo w 集計し、汎用 API に書き込む
現在は Jav a の Beam SDK で開発を行っているが、
メンバーのスキルセットを考え Pytho n 版に移行した
い(もしくは Beam SQL )
リアルタイム処理システム
31. ジョブを定期実行する基盤
機械学習モデルのトレーニングから push 通知の送信
まで幅広くカバー
Airf lo w でスケジュール・ワークフローを管理し、
GK E 上でジョブを実行(タスクごとにマシンリソース
が選択できる)
ジョブの大半は YAML の記述だけで完結するように
なっている
ジョブ基盤
機械学習用途では、 papermill を用いて jupyter no tebo o k を直接実行しており、
さらにモデルの GCS アップロードから API の自動デプロイまで行える(学習精
度に応じてデプロイ可否をコントロールすることも可能)
我々 CET チームは、機械学習を含むデータプロダクト開発を効率化するために、
データプランナー、データサイエンティスト、エンジニアなどデータ活用に関する専門家を集めたチーム構成を取っており、
リクルートライフスタイルが運営するサービスに対する、データとテクノロジーによる「価値創出」をチームのミッションとして定めています。