在idea上运行src/main/java/com/sparrowrecsys/offline/spark/featureeng/FeatureEngineering.scala和src/main/java/com/sparrowrecsys/offline/spark/embedding/Embedding.scala文件的时候开始都很长一片红报错,大概是:Failed to locate winutils binary in the hadoop binary path.
Could not locate executable null\bin\winutils.exe in the Hadoop binaries.……
但发现其实不影响这两个文件的运行结果,特征工程和embedding的数据处理结果还是能打印出来,不过还是想办法解决了。
就按网上说的下载了hadoop,为了和项目中的版本匹配,去官网下载了hadoop.2.7.7.tar,解压后发现bin目录下没有winutils.exe文件,就又在网上找了一个github上的hadoop winutils下载集合,也找的是2.7.7的版本,下载后的bin目录比原文件夹下的bin目录内文件丰富很多:
这里就有winutils文件了,
然后去电脑系统设置里配置环境变量,新建环境变量:
HADOOP_HOME
填上自己存放的hadoop-2.7.7的路径
再在Path路径里添加bin路径
%HADOOP_HOME%\bin
再在ClassPath里添加
%HADOOP_HOME%\bin\winutils.exe
重启电脑,就没有报错了,运行结果还是一样的
Run的过程有点慢,数据量再大点估计更慢……
还有一个这个WARN,不知道有啥影响:
WARN BLAS: Failed to load implementation from: com.github.fommil.netlib.NativeSystemBLAS