ApachePredictionIO使用

Apache PredictionIO 是一个开源机器学习服务器,基于 Apache Spark、MLlib、HBase 等技术,用于快速构建和部署预测引擎。本文档详细介绍了通过 Docker 安装 PredictionIO 的过程,包括下载 Docker 源文件、构建镜像,以及使用 Quick Start 模板创建推荐系统,包括数据收集、引擎构建、训练和部署。通过这个指南,读者可以学会如何在生产环境中使用 PredictionIO 实现推荐系统。
摘要由CSDN通过智能技术生成

PredictionIO初步使用

0 简介

0.1 什么是ApachePredictionIO®?

ApachePredictionIO®是一个开源的机器学习服务器,它建立在最新的开源堆栈之上(基于:Apache Spark,MLlib,HBase,Akka HTTP和Elasticsearch),供开发人员和数据科学家使用,以为任何机器学习任务创建预测引擎。它可以让您:

  • 使用可自定义的模板在生产环境中快速构建和部署引擎作为Web服务,RestfulAPI支持;
  • 部署为Web服务后,可以实时响应动态查询;
  • 系统地评估和调整多种引擎变体;
  • 批量或实时统一来自多个平台的数据,以进行全面的预测分析;
  • 通过系统的流程和预先建立的评估措施来加快机器学习建模;
  • 支持机器学习和数据处理库,例如Spark MLLib和OpenNLP;
  • 实施您自己的机器学习模型并将其无缝整合到您的引擎中;
  • RestfulAPI支持
  • 简化数据基础架构管理。

0.2 PredictionIO 组件构成

三大组件

PredictionIO 由三大组件构成:

  • PredictionIO platform (PredictionIO平台)-我们的开源机器学习堆栈,用于使用机器学习算法构建,评估和部署引擎。
  • Event Server-我们的开源机器学习分析层,部署为Web服务后,它会侦听您的应用程序中的查询并实时响应预测结果。
  • Engine(引擎)-引擎负责进行预测。它包含一种或多种机器学习算法。
  • Template Gallery (官方模板库)-您可以在此下载用于不同类型的机器学习应用程序的引擎模板

0.3 部署步骤

部署和使用引擎需要6个简单的步骤:

  • 安装并运行PredictionIO
  • 通过下载引擎模板创建引擎
  • 如果要将PredictionIO与新应用程序集成,请生成应用程序ID和访问密钥
  • 收集数据
  • 将引擎即服务部署
  • 使用引擎推荐

1 docker安装ApachePredictionIO

1.1 官网方式

http://predictionio.apache.org/install/install-docker/

1.1.1 下载docker源文件

从v0.13.0开始,ApachePredictionIO®开始为生产环境提供docker支持。Dockerfile和依赖项配置可以在git存储库的docker文件夹中找到。

首先下载项目:
git clone https://github.com/apache/predictionio.git

然后进入docker文件夹下:
cd predictionio/docker

1.1.2 Build Docker Image

为了构建PredictionIO Docker image,在子目录pio中提供了Dockerfile

使用上面的命令,您将能够使用标签prediction/pio:latest build 一个 image。

docker build -t predictionio/pio pio

1.2 从DockerHub拉取docker镜像

https://github.com/steveny2k/docker-predictionio

https://www.cnblogs.com/Yuanjing-Liu/p/9516536.html

1.2.1 拉取镜像文件

拉取镜像文件:

docker run -it -p 8000:8000 -p 7070:7070 steveny/predictionio:0.12.0 /bin/bash

该命令会自动发现你本地没有该镜像,然后主动去DockerHub拉取。

docker 容器操作:

# 查看所有的容器 及其状态
docker ps -a

# 开始/停止 容器
docker start/stop xxxx

# 查看容器日志
docker logs -f xxxx

#进入docker容器中,比attach命令更好,退出不会关闭
docker exec -it xxxxid bash

# 退出container时,这个container仍然在后台运行
exit # 或者按键“Ctrl + D”

1.2.2 启动事件引擎

拉去镜像之后, docker会直接启动一个 容器。并且进入容器。然后我们 启动所有PredictionIO事件服务器(HBase和Elasticsearch):

pio-start-all

查看有没有启动成功:

pio status

看到以下结果说明成功。
在这里插入图片描述

如果报错:Please make sure they are correct. Source Name: ELASTICSEARCH; Type: elasticsearch; xxxxxx 类似的错误 都表示 elasticsearch 没有启动成功,
https://github.com/shimamoto/docker-predictionio/issues/1 参考 解决方案为,增加docker对内存的限制 提高到2g以上

# 如果有问题,就用stop命令关闭,并重启
pio-stop-all
pio-st
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值