SPSS modeler:Incorrect number of fields detected 解决方法

SPSS modeler在LINUX下批处理模式部署的Incorrect number of fields detected in the server data model问题。 

SPSS modeler流建完后,windows下手动执行可以,部署到LINUX下,出现一个问题,实时预测有时没有数据输出,有时运行成功,有时运行不成功,
    报错日志为:
Information: Stream execution started
I1037: Setting Up Job...^M
I1037: Setting Up Job...^M
I1037: Setting Up Job...^M
I1037: Job Execution Started^M
I1037: Job Execution Started^M
I1037: Component The Scoring Component, Execution Started^M^M
E3337: Error: Incorrect number of fields detected in the server data model. Expected: 12 Actual: 11
I1037: Job Is Cancelled^M
I1037: Job Is Cancelled^M
W2: The analysis was abandoned following a cancellation request
 
Warning: Ignore the invalid field F_FLOW in the flow node
Warning: Ignore the invalid field F_AVERSPEED in the avspeed node
Warning: Ignore the invalid field F_TIMEOCC in the timeocc node
Information: Stream execution complete, Elapsed=1.0 sec, CPU=0.8 sec
Warning: Execution was interrupted
 
有时执行成功日志:
具有以下标志时以批处理模式执行:[-P:stream.refresh_source_nodes=true -hostname 172..17.8.140 -username root -password *** -P:databasenode.username=dw_mart_flow -P:databasenode.password=*** -directory /usr/IBM/SPSS/ModelerBatch/14.2/traff_pred -stream nh_trafficflow_predict_apply_5min.str -execute -log /usr/IBM/SPSS/ModelerBatch/14.2/traff_pred/pred_log/pre_5min_t.log ] 在 2014-6-13 0:44:27
信息: 流执行已开始
I1037: 正在设置作业...^M
I1037: 正在设置作业...^M
I1037: 正在设置作业...^M
I1037: 作业执行已开始^M
I1037: 作业执行已开始^M
I1037: 组件 评分组件, 执行已开始^M^M
I1037: 组件 评分组件, 执行已开始^M^M
I1037: 组件 评分组件, 执行已完成^M^M
I1037: 作业执行已完成^M
I1037: 作业执行已开始^M
I1037: 组件 评分组件, 执行已完成^M^M
I1037: 作业执行已完成^M
I1037: 组件 评分组件, 执行已开始^M^M
I1037: 组件 评分组件, 执行已完成^M^M
I1037: 作业执行已完成^M
信息: 流执行完成,所用时间=7.0 秒,CPU 时间=0.83 秒
 
查了下报错日志,一开始认为问题可能是在LINUX SPSS Server的设置问题,
Incorrect number of fields detected when running Streaming EA node
You may encounter an error of the form "Incorrect number of fields detected in the server 
data model" when running the Streaming EA node. This can happen if you have edited the 
repository configuration since creating the Streaming EA node. Editing the configuration in these 
circumstances can have the effect of changing the number and names of the fields output from the 
node.To resolve the issue, open the Streaming EA node and click the Refresh button.Doing so 
causes the number and names of the output fields to be recalculated. 

 
另一个解释:

PM45687: "INCORRECT NUMBER OF FIELDS DETECTED IN THE SERVER DATA MODEL" SCORING A LINEAR MODEL

APAR status

Closed as fixed if next.

 

Error description

Logged into a machine as a user that has a hash character ('#')
as the first character in the username. Trying to score a linear
model that has been generated. On execution the stream errors
with an error:

"Incorrect number of fields detected in the server data model"

Local fix

This is caused by the temporary directory of the user containing
a folder that has a hash character as it's first character
(which will be the Windows default if the username does. To
prevent this issue, either:
1. login to the machine with a username that does not have a
hash character as it's first character, or
2. Change the value of the TEMP environment variable on the pc
so that it points to a directory that does not contain a hash
character as it's first character anywhere in the path.

Problem summary


****************************************************************
* USERS AFFECTED:                                              *
* All                                                          *
****************************************************************
* PROBLEM DESCRIPTION:                                         *
* "INCORRECT NUMBER OF FIELDS DETECTED IN THE SERVER DATA      *
* MODEL"                                                       *
* SCORING A LINEAR MODEL                                       *
****************************************************************
* RECOMMENDATION:                                              *
* Upgrade to IBM SPSS Modeler 15.0                             *
****************************************************************

但以上两个原因我的工作中都没有问题,至于升级到更高版本的解决方法,无非是IBM的一贯忽悠风格。

貌似训练直接建立的模型节点用于预测,在流执行时会将 评分组件等模型建立过程跑一遍,应用部署的时候输入数据的训练目标字段已经不存在,因此会少一个字段。至于为什么有时候能成功,着实没有找到原因,或许我的理解有误,望有知其机制的朋友不吝指出。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值