談到 big data,大家都把注意力放到 data science,但其實 data engineering 也一樣的重要。分散式資料處理 是 實現 大規模資料處理 的必要手段。在未來幾週內,希望能以 Stream Computing 為範例,介紹分散式資料處理中會遇到的各種問題與可能解決方法。
談到分散式運算系統,大家最熟悉的應該是Hadoop。不過Hadoop是設計來處理high throughput的批次應用,相對來說不重視 latency。如果是...
作業系統有兩種常用的inter-process communication方式: Shared memory: 當做白板來交換資料,缺點是很多人用的話要排隊(...
Stream Computing 適用在有大量event湧進的應用,最常見的應用是activity analysis,比方說即時分析用戶在網站的瀏覽、點擊行為,...
突然發現我好像還沒介紹過 Stream Computing :D Stream Computing 是設計給需要 low-latency 的應用。batch p...
目前有幾種開源軟體可以選擇: Apache Storm Apache Samza Apache Spark Streaming 如果希望有sub...
雖然Day 25有提到好幾種Stream Computing框架,但是這些這些框架都有一些共通的組成元素: 從角色來看,分成幾組: 處理 client 提出...
在Stream Computing,一筆 record 可能會需要同時進行好幾種運算 (如: 更新各種counter, 計算統計值等等)。我們可以把一筆 rec...
昨天講到,Storm用Ackor將所有收到的ID XOR之後,來偵測一筆record是否已完全被處理。今天來講一下,如果遇到問題的話會怎麼處理。 其中一個常見的...
昨天講到 pure stream computing 不能提供 exactly-once semantics,不過有許多應用都需要 exactly-once s...
這是最後一篇文章囉,我要來介紹一下 stream computing 裡 狀態 的管理。 所謂狀態是指處理過程中的副作用,比方說,要更新 counter。如果沒...