在此前的文章中,咱們討論過Apache Ignite機器學習網格。當時僅有測試版。在隨後的版本2.4中,機器學習得以運用。新版本對部份內容進行了更新,支持基於分區的數據集以及遺傳算法。Apache Ignite提供了多種可獨立運行的機器學習示例,將入門學習變得簡易。在本系列的後續文章裏,咱們將利用Ignite支持的機器學習算法對部分開源數據集進行分析。算法
簡介apache
咱們將在本部分對機器學習網格進行簡單的回顧,圖1展現了機器學習網格的結構。服務器
圖1:機器學習網格機器學習
首先,Apache Ignite所呈現的機器學習能力至關實用,可在Ignite內直接構建預測模型。基於此,用戶在不採起高代價ETL(Extract-Transform-Load)過程或數據傳輸的狀況下,獲取高規模高性能的預測模型。分佈式
在Ignite出現以前,機器學習模型得訓練和部署在不一樣的系統上。例如,用戶須要將數據移出Ignite,接着使用其它工具對數據進行訓練,這樣模型才能部署到不一樣的系統中。此方法存在以下缺點:工具
其次,現今多數系統需處理大量的數據,這些數據一般會超過單個服務器容量。分佈式計算很好的解決了這個問題,但一些平臺並不是爲數據存儲和操做而設計,它們僅適合訓練。因此,研發人員須要考慮如何在生產環境中解決由部署所引起的複雜問題。性能
Ignite所呈現的機器學習能力致力於解決以下問題:學習
機器學習一般是一個迭代過程,上下文可能會在算法運行時發生改變。所以,爲了不工做損失和延遲,Ignite支持了基於分區的數據集,使其可以應對節點故障問題。測試