H2O框架簡介
H2O是開源的,分布式的,基於內存的,可擴展的機器學習和預測分析框架,適合在企業環境中構建大規模機器學習模型。
H2O核心代碼使用Java編寫,數據和模型通過分布式 Key/Value 存儲在各個集群節點的內存中。H2O的算法使用Map/Reduce框架實現,並使用了Java Fork/Join框架來實現多線程。
H2O目前支持的機器學習算法有DRF,GBM,GLM,GLRM,Kmeans,NB,PCA,Deep Learning,所以目前來看支持的模型還不是很多。
H2O軟件棧:
架構圖最上層表示與H2O通信的Rest API客戶端,它們之間通過socket連接。最下層表示可以運行JVM 進程的基礎架構。中間灰色部分是用戶的一些算法。
H2O讀取數據
1.R用戶調用importFile()函數
2.R客戶端告訴集群要讀數據
3.以分布式H2O Frame的格式從HDFS返回數據
CPU管理
job:創建一個任務就是一個job
MRTask: H2O基於內存的Map/Reduce任務,與hadoop Map/Reduce任務稍有不同
Fork/Join:task執行框架
Memory管理
Fluid Vector Frame:暴露給用戶的基本數據單元
Distributed K/V store:在集群中通過此種方式存儲
Non-blocking Hash Map:在K/V實現中使用
原文:https://blog.csdn.net/Yaphat/article/details/52891133
H2O學習筆記:
https://blog.csdn.net/yaphat/article/category/6476184
安裝和建模指導: