Leo Yeh's Blog

SAS 基本介紹 (27)

教學目標

此篇主要為學習 SAS Event Stream Processing 的心得筆記。

重點概念

首先今天非常厲害的資深前輩分享 SAS Event Stream Processing 在產業應用的經驗,讓我們受益良多。在目前巨量資料的時代,資料如同下雨一樣不僅是獲立事件,像是社群媒體、金融交易、感測器、… 等,並且還有許多小資料一直持續下,此時的我們是否能夠在下的當下就進行資料的篩選呢?此外資料的價值將會隨著時間遞減,過去我們可能會使用歷史資料進行分析和建立預測模型,然而資料通常是在當下最具價值,因此是否有個 SAS 產品能夠即時的針對事件進行處理呢?答案肯定是 SAS Event Stream Processing 產品。

接著 SAS Event Stream Processing 產品主要是分析事件串流資料,並且立即提供適當的行動。所謂事件主要是指在確定時間內所發生的事情,並且能夠進行記錄的集合資訊,在傳統資料管理方法中資料主要是從來源進行收集、儲存和分析。但是在事件串流方法中事件主要是立即被分析無需任何儲存的負擔,因此傳統資料處理主要是進行定期處理,然而事件處理主要是進行連續處理。更進一步說明,傳統資料處理主要是採用批次引擎,主要是先準備資料,再來執行程序,以利取得輸出結果,像是澆花水壺一樣,事件處理主要是採用串流引擎,主要是先執行程序,再來持續接收資料,並且處理資料,同時產生輸出結果,像是沖水水管一樣。所以 SAS Event Stream Processing 產品主要是採用事件串流方法,其主要能夠處理巨量的串流資料,其中資料也就是所謂的事件,同時以極低的延遲時間持續進行處理,此外更支援模型計算,針對串流資料立即進行模型計算。

再來 SAS Event Stream Processing 產品的主要元件有三個,分別為:

  1. Event Stream Processing Engine
  2. Adaptor and Connectors
  3. Publish and Subscribe API

其中所謂 Event Stream Processing Engine 主要是進行事件的轉換,像是過濾、聚合、模式偵測、模型計算、資料品質、…等。至於所謂 Adaptor and Connectors 和 Publish and Subscribe API 則主要是處理輸入和輸出串流資料的事件,請注意 Connectors 主要是使用於 SAS ESP 引擎中,而 Adaptor 則主要是使用於 SAS ESP 引擎外獨立執行,並且支援彈性的參數調整,以利達到最佳的效能。

最後 SAS Event Stream Processing 產品的網站應用程式主要有 ESP Studio 和 ESP Streamviewer。所謂 ESP Studio 主要是用於開發、測試和維護 ESP Model,所謂 ESP Streamviewer 主要是用於訂閱 ESP Model,並且即時視覺化 ESP 模型,以圖表方式進行呈現。至於什麼是 ESP Model 則主要是使用者設定如何從發佈者的輸入事件串流轉換成有意義的輸出事件串流給訂閱者。其主要有五個階層,分別為:

  1. Engine Model
  2. Project
  3. Continuous Query
  4. Source Windows
  5. Derived Windows

其中一個 Model 包括至少一個 Engine,每個 Engine 則包括多個 Project,每個 Project 包括多個 Continuous Query,每個 Continuous Query 包括許多 Windows 和 Edges,至於 Windows 則可分為 Source 和 Derived 兩種類型。

總結 SAS Event Stream Processing 產品能夠進行非常多種類的串流分析的應用,像是影像處理、物聯網應用、企業即時決策、… 等即時串流分析的應用。此外我們也能夠應用 SAS Event Stream Processing 產品實作巨量資料的串流 ETL 轉換架構,再搭配 Kafka 達到高可用性的容錯架構。

相關資源

⬅️ Go back