我正在尋找在數據流中實現流式搜索/過濾系統。系統本身非常複雜,所以我會用一個簡單的例子來描述我的問題。加入歷史和流數據
假設我想允許我的系統用戶爲新聞文章設置警報,以匹配包含指定關鍵字的任何文章。與我的問題有關的是,當系統添加警報時,需要返回並匹配全部之前包含該關鍵字的文章。當然,它也需要開始與任何新文章進行匹配。
我的想法是加入包含警報流的文章流,檢查每條警報的每篇文章。
我的問題是:什麼是一個很好的方式來存檔過去的文章,可以檢查新的警報,有沒有辦法避免太複雜和特殊的框?理想情況下,我只需將全部文章放在pcollection中,並添加一個全局窗口和一個觸發器,以發出所有新元素並加入一系列警報。這是可行的嗎?如果我的工作出現問題,我如何確保我不會丟失文章?
它的確如此,但我想在Dataflow中做到這一點,包括保持狀態。另外,我需要能夠處理存檔數據。所以我正在尋找一種方法來實現這個使用數據流構造。 –
另外:警報的集合很小,可能只有極少數,但是這組文章將是數以億計的巨量。我並不介意在添加新警報時出現延遲,因此,只要Dataflow可以擴展到新的段,那麼只要有新的段,就處理每個「(article,segment)」組合。 –
我明白了。我仍然建議在我的回答中使用這種方法:數據流可以保持相當數量的狀態,但它不是一個存儲系統,所以我不建議嘗試將它用於數以億計的文章。 – jkff