H2O学习笔记(一)—— H2O概述

来源:互联网 发布:手机网游推荐 知乎 编辑:程序博客网 时间:2024/04/29 16:11

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实现中使用

0 0
原创粉丝点击