SparrowRecSys复现记录
1.Flink
版本问题
这里是什么都没有动,代码下载后直接导入idea
项目的pom.xml
给的版本是1.11.1
1
<flink.version>1.11.1</flink.version>
但是在使用maven
构建项目时,Sync
报错。于是我把版本改成1.6.1
,运行成功
后来在解决其他报错的时候,我又把版本改了回来。运行成功,没有报错。
2.scala
报错
Error:scalac: Error: Error compiling the sbt component 'compiler-interface-2.11.0-56.0'
sbt.internal.inc.CompileFailed: Error compiling the sbt component 'compiler-interface-2.11.0-56.0'
at sbt.internal.inc.AnalyzingCompiler$.handleCompilationError$1(AnalyzingCompiler.scala:331)
at sbt.internal.inc.AnalyzingCompiler$.$anonfun$compileSources$4(AnalyzingCompiler.scala:346)
···
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
compiler-interface-2.11.0-56.0
应该指的是scala
的版本是2.11.0
,我注意到末尾的几句提到了jdk
,猜想可能是jdk
版本的问题。因为README
给的java
版本是8
1,而我的jdk
版本是12
。关于java
版本与jdk
版本的关系详见博文2。这个判断也有其他博文3佐证。
重装java
,需要先卸载掉原jdk
4,然后找到安装包5。现在似乎官网下载安装包都需要账号登陆,这篇博文当中给出了一个账号网站6,可以使用其公布的账号和密码进行登录下载。我的安装过程同样参考了这篇博文7,跳过了jre
的安装,暂时没有出问题。
3.log4j
报错
log4j:WARN Please initialize the log4j system properly.
log4j:WARN No appenders could be found for logger (org.eclipse.jetty.util.log).
主要原因是缺少log4j.properties
文件,需要新建并放置在resources
文件夹下。8
关于log4j
的其他设置可以参考博文9,我调整为warn
级别,过滤掉其他无用信息。
参考文献
电影推荐系统Sparrow Recsys源码解读
CSDN专栏-Y.G.bh-推荐系统