Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ETLにおけるデータの差分取得のインフラをCDKにする #109

Open
yu23ki14 opened this issue Sep 20, 2024 · 1 comment
Open
Assignees

Comments

@yu23ki14
Copy link
Collaborator

yu23ki14 commented Sep 20, 2024

改善詳細 / Details of Improvement

ETLを定期実行にして差分取得するための設計とCDKの実装を行う。
基本的にはCommunityNotesの更新頻度に合わせておこなう。更新日時が日によって違ったりするので、スクリプト自体は4時間に1回回すような方法でもいいかもしれない。ただ、Twitterのデータが1分に1件しか取れないので、例えば素直に4時間ごとに実行した場合240個しか取得できず終わっていないのにまた走ってしまう可能性があるのでそれを防ぐ必要がある。

  • EventBridgeで発火
  • CommunityNotesのtsvやTwitter APIから取得したデータは,一旦SQLiteに入れて触りやすくしている。それを前回のものをロードして再開できるようにS3にSQLiteの静的ファイルを保存するようにするといいかもしれない。
  • 前回までに取得できているぶんについてはスキップしてそれ以降のCommunityNotesのデータとAPIから取れたものを対象にする。
  • 差分実行でAIによる言語推論とトピック推論を行う。
  • Load(APIのPostgresqlへの)についても差分実行する。これまではCSVで吐き出してそれを手動でPostgresqlに突っ込むようにしている。どこまで自動化させるかも検討の余地あり。
@yu23ki14
Copy link
Collaborator Author

yu23ki14 commented Oct 9, 2024

  • ツイートデータのみをPostgres(RDS)に入れていく。=> Ryoma
  • CommunityNoteでとったデータの一番新しいやつの時間(どこまでとったか)もPostgresqlに保存する => Ryoma
  • ECSとPosgreを毎回起動する。
    • すでに起動している場合で検知して実行をスキップ(ETLスクリプトの外側でできるようにしたらありがたい)

外部からの接続はなし完全Isorated

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants