我正在分析流數據(Web事件)。Dataflow和Big Query中的窗口函數
是否有一個好的經驗法則可以幫助我確定我是否應該
- 的數據流進行分組和聚集並寫入輸出
或
- 使用數據流流入Big Query,並可能使用範圍裝飾器來限制數據/使用SQL的分區和聚合的窗口功能。
望着文檔中的例子,本文 https://cloud.google.com/dataflow/blog/dataflow-beam-and-spark-comparison
經典批處理編程,每小時球隊成績,所有的時間用戶得分,用戶行爲分析覺得他們是直接通過SQL創建(給定"created"
和"write"
時間戳記錄)
垃圾郵件過濾示例我可以看到使用BQ的限制(如果這適用於每個事件流基礎)。
數據流的語義似乎在GroupBy,Join,Combine,Windowing以及BQ支持流式插入的情況下重疊,可用性在幾秒鐘之內,足夠短以便進行小時級別聚合。
有沒有根本的東西我還沒有明白?或者有沒有一種情況下流入BigQuery,然後查詢將開始變得不可靠?
謝謝
克里斯
(道歉,如果這個問題有點模糊 - 快樂被重定向到一個更好的地方問)
謝謝 - 我強烈地感到差異將隨着經驗而出現,我們剛剛開始向流式架構遷移。我想補充一點,根據我的經驗,會話和滑動窗口很容易在SQL中使用窗口函數表示,這些窗口函數以'{ROWS |範圍}或範圍子句,這是我的一些混淆源於的地方。我們已經通過這種方式實施了分割測試和可變加權歸因。 – Chris