Windows在初研究人员的探索下,研究出了一套更为精简的环境配置,极大的缩短了开发时间与效率,在此总结以供后来者参阅。

1、部署环境的配置

Windows10 64 home

IntelliJ IDEA 2018.2.1 pro

java version 1.8.0_172

PredictionIO 0.12.1(包含众多依赖包)

2、准备

首先,你的电脑是一定要有JDK的,并且配好环境变量

其次,你需要下载IDEA,最好专业版,功能全一点

最后,git一个demo,以供开发测试,运行以下代码即可

$ git clone https://github.com/apache/predictionio-template-attribute-based-classifier.git MyClassification

3、配置过程

3.1 安装插件

你安装好IDEA会有让你输入以前的配置,如果没有就点不输入就行,接下来你就会看见以下的页面,点击Configure~~>Plugins

之后就会出现下面的页面,按照指示操作即可

3.2 导入项目

可能需要一点时间,安装完插件之后,就可以打开之前下载的demo,具体操作如下

输入项目完成的页面,是下面这样的

3.3 添加依赖包

初步的导入项目已经完成,现在需要利用IDEA的SBT安装PredictionIO以及其依赖包

这里下载build.sbt文件替换demo文件根目录里的同名文件

或者,你也可以把以下代码替换原来build.sbt的代码(此处也可参考所用包的版本)

name := "template-scala-parallel-classification"

scalaVersion := "2.11.8"
libraryDependencies ++= Seq(
"org.apache.predictionio" %% "apache-predictionio-core" % "0.12.1" % "provided",
"org.apache.predictionio" %% "apache-predictionio-data-jdbc" % "0.12.1" % "provided",
"org.apache.predictionio" %% "apache-predictionio-data" % "0.12.1",
"mysql" % "mysql-connector-java" % "8.0.12",
"org.postgresql" % "postgresql" % "42.2.4",
"org.apache.predictionio" %% "apache-predictionio-data-hbase" % "0.12.1" % "provided",
"org.apache.predictionio" %% "apache-predictionio-data-elasticsearch" % "0.12.1" % "provided",
"org.apache.predictionio" %% "apache-predictionio-data-localfs" % "0.12.1" % "provided",
"org.apache.spark" %% "spark-mllib" % "2.1.1" % "provided")

之后右下角会弹出SBT的框框,点击下面页面的标记处,就可以静静的等待这些包安装,甚为方便。这可能会花费一点时间,不影响我们下面的操作,接着走。

3.4 添加补充文件

这里下载log4j.properties文件添加到demo文件的根目录下

3.5 配置项目   (window下,仅配置模拟pio train)

这里要配置的东西颇多,在等待SBT下载包的时候,就可以开始这步。

接下来,会出现这个页面,较为清晰,请手打填写空的框框,勿漏标点符号

上面第四个框框,参照这一步,添加环境变量,点击加号一个一个添加。下面给出文本,复制即可。

方便添加,复制粘贴

PIO_STORAGE_REPOSITORIES_METADATA_NAME            pio_meta
PIO_STORAGE_REPOSITORIES_METADATA_SOURCE       MYSQL
PIO_STORAGE_REPOSITORIES_EVENTDATA_NAME          pio_event
PIO_STORAGE_REPOSITORIES_EVENTDATA_SOURCE     MYSQL
PIO_STORAGE_REPOSITORIES_MODELDATA_NAME         pio_model
PIO_STORAGE_REPOSITORIES_MODELDATA_SOURCE    MYSQL
PIO_STORAGE_SOURCES_MYSQL_TYPE                             jdbc
PIO_STORAGE_SOURCES_MYSQL_URL                               jdbc:mysql://localhost/pio?serverTimezone=GMT
PIO_STORAGE_SOURCES_MYSQL_USERNAME                  root
PIO_STORAGE_SOURCES_MYSQL_PASSWORD                  root

4、测试pio train

经过上面的步骤之后,只要你别弄错,基本是配置好了,下面就可以进行开发工作了,点击上面pio train旁的三角形运行按钮,等运行完成,无报错成功,就可以得到下面的输出:[INFO] [CoreWorkflow$] Training completed successfully.

5、关于Windows下开发的特殊之处

5.1 无法在终端下直接运行pio,部署服务

所以,只能在IDEA下开发引擎完毕,可以在服务器或者本机Docker(参照此方法)下部署服务

需要注意的是,如果在本机docker下部署服务,IDEA开发和Docker部署不能是同一个文件夹,要分开,否则出错

使用docker成功部署

5.2 IDEA模拟pio deploy出错

参照官方教程配置模拟pio deploy,然后是这样婶的,出错了,问题很大,直接用docker这种方法部署把。

6、参考资料

Developing Engines with IntelliJ IDEA(不够仔细的官方教程)

Apache PredictionIO在Docker上的搭建及使用 - 知-青 - 博客园

在Windows 10上部署Apache PredictionIO开发环境的更多相关文章

  1. 在 Windows 10 上搭建 Cordova 跨平台开发 Android 环境

    目录 安装 Cordova 安装 Java 和 Android 环境 创建 Cordova 应用程序 构建和运行 Cordova Cordova 简介:Cordova 原名 PhoneGap,是一个开 ...

  2. Delphi for iOS开发指南(1):在Mac上配置你的开发环境

    http://cache.baiducontent.com/c?m=9d78d513d99516f11ab7cf690d678c3b584380122ba7a0020fd18438e4732b4050 ...

  3. 如何在Windows 10上运行Docker和Kubernetes?

    如何在Windows 10上运行Docker和Kubernetes? 在Windows上学习Docker和Kubernetes,开始的时候会让你觉得无从下手.最起码安装好这些软件都不是一件容易的事情. ...

  4. 在 Windows Azure 上部署预配置 Oracle VM

    Microsoft 和 Oracle 近期宣布建立战略合作伙伴关系,基于此,我们将通过 Windows Azure 镜像库推出多种常用的 Oracle 软件配置.即日起,客户可以在 Windows S ...

  5. DB 查询分析器 6.04 在 Windows 10 上的安装与运行展示

    DB查询分析器 6.04 在 Windows 10 上的安装与运行展示 中国本土程序员马根峰(CSDN专访马根峰:海量数据处理与分析大师的中国本土程序员 http://www.csdn.net/art ...

  6. 在Docker Swarm上部署Apache Storm:第2部分

    [编者按]本文来自 Baqend Tech Blog,描述了如何在 Docker Swarm,而不是在虚拟机上部署和调配Apache Storm集群.文章系国内 ITOM 管理平台 OneAPM 编译 ...

  7. 在Windows 10上安装Oracle 11g数据库出现的问题及解决

    在Windows 10上安装Oracle 11g数据库,并且很多次出现过:当安装的进度条进行到快要结束的时候弹出一个提示框.如下: [Java(TM)2 Platform Standard Editi ...

  8. Windows 10 上,Edge 浏览器不支持插件,因此将不运行 Java

    在 Windows 10 上,Edge 浏览器不支持插件,因此将不运行 Java.微软想干嘛?

  9. Windows 10 上的 Git 如何清除密码? Git Credential Manager for Windows

    Windows 10 上的 Git 如何清除密码? 因为一台新的电脑是 Windows 10 在第一次使用 Git 要求输入密码时把密码给输错了. 之前提交都是说 Token 错了,不再出现提示密码. ...

随机推荐

  1. C 标准库 - string.h之strncpy使用

    strncpy 把 src 所指向的字符串复制到 dest,最多复制 n 个字符.当 src 的长度小于 n 时,dest 的剩余部分将用空字节填充. char *strncpy(char *dest ...

  2. web_01Java ee实现登陆注册功能

    Web Web_01版本: 实现功能 用户注册 用户登录 设计内容 数据库:mysql 服务器: tomact7 配置 : xml 页面 : jsp+html/css *重点: 数据库相关: 数据库操 ...

  3. .NET环境下的DPAPI加密编程

    Windows的本地加密保护机制提供了简单的调用接口,密钥的生成.保护等事项一概由系统来处理,其编程接口称为DPAPI.这一加密保护机制的边界是用户登录帐户或者本地计算机系统,使用操作系统设定的加密处 ...

  4. 实现 如 goole closure 类似功能模块加载函数

    看过goole  closure 的同学都知道  其中定义一个类名函数时候只要  inlude("")   想加载某个模块只要require("")就可以利用: ...

  5. master.sys.sysprocesses相关内容

    sysprocesses 表中保存关于运行在 Microsoft® SQL Server™ 上的进程的信息.这些进程可以是客户端进程或系统进程. sysprocesses 只存储在 master 数据 ...

  6. Java - 线程封闭

    保证并发安全性的方式有三: 不共享.不可变.同步 前两种方式相对第三种要简单一些. 这一篇不说语言特性和API提供的相关同步机制,主要记录一下关于共享的一些思考. 共享(shared),可以简单地认为 ...

  7. Heka 最简单例子

    技术人员学习都是从简单例子开始的, Heka的应用也是从简单开始的.   需求: 监控一个日志文件的内容, 在标准输出显示出来.   操作步骤: 使用下载好或者编译好的 heka 已经编译好的 rel ...

  8. hdu Anniversary party 树形DP,点带有值。求MAX

    Anniversary party Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  9. C Primer Plus note7

    这个程序是<C Primer Plus 中文版 第六版>书上198页的代码,是一个值的琢磨的程式. 有时间可以看一看: 尤其是下面这几句代码,很精妙: 用了很短的程式,得出了最大值和最小值 ...

  10. easyui grid 里的可编辑text 加清空图标

    $.extend($.fn.datagrid.defaults.editors, { text: { init: function (container, options) { var _opt = ...