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. Android表格布局之设置边框

    Android表格布局本身没有边框,不过可以通过背景色的设置可以实现表格边框的显示. 首先可以设置TableRow的背景色,然后设置内容的背景色.根据它们的颜色差就出现了边框.只要微调Content与 ...

  2. Django查询一个权限中包含哪些用户

    Django查询一个权限中包含哪些用户 Django的Permission对象中没有直接查询相关用户的信息,而都是通过User对象来查询某个用户有哪些权限,例如: user.objects.get(u ...

  3. jquery清空下拉框,保留第一个

    js中可以document.getElementById("id").options.length = 1;设置 jquery中的设置方法:$("#id option[i ...

  4. linux diff(differential) 命令

    功能说明:比较文件的差异. 语法:diff [OPTION]... FILES 实例: diff -ur temp1 temp2 diff -ur temp1 temp2 > temp.diff ...

  5. android和Linux下getopt的差别

    1. Linux下如果找不到相对应的参数,则会跳过继续找下一个 Android下如果找不到则会直接返回-1,跳出来 2. Linux下通过getopt后会把找到的元素放到数组的前面,没找到的往后移动( ...

  6. MySQL重置root密码提示"Unknown column ‘password"的问题?

    晚上打开MAC,发现root帐户突然不能正常登陆MySQL,于是打算重置密码,看了几篇文章,竟然重置不成功,总是得到Unknown column 'password'的错误,看了user的表结构也确实 ...

  7. 初探Spring源码之Spring Bean的生命周期

    写在前面的话: 学无止境,写博客纯粹是一种乐趣而已,把自己理解的东西分享出去,不意味全是对的,欢迎指正! Spring 容器初始化过程做了什么? AnnotationConfigApplication ...

  8. form表单在发送到服务器时候编码方式

    enctype(编码方式):规定了form表单在发送到服务器时候编码方式.有如下的三个值可选: 1.application/x-www-form-urlencoded.默认的编码方式.但是在用文本的传 ...

  9. C 堆内存管理

    在Win32 程序中每个进程都占有4GB的虚拟地址空间,这4G的地址空间内部又被分为代码段,全局变量段堆段和栈段,栈内存由函数使用,用来存储函数内部的局部变量,而堆是由程序员自己申请与释放的,系统在管 ...

  10. 接口调用 读取图片报错 Access to the path '' is denied.解决方案

    调用接口 读取服务器上 图片 报错: Server was unable to process request. ---> Access to the path '图片路径' is denied ...