Problems to work with RM 4.6 legacy code at RM 5
Hi all,
My code in RM 4.6 looks like this:
ExampleSet result = null;
ExampleSet exampleSet = dataset.getMemoryExampleTable()
.createExampleSet();
IOContainer container = new IOContainer();
container = container.append(exampleSet);
container = this.process.run(container);
result = container.get(ExampleSet.class);
However in RM 5.0, the following exception occurs:
Caused by: java.util.concurrent.ExecutionException: com.rapidminer.operator.ports.PortException: Exception at Clustering.example set: No data.
在java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252) [na:1.7.0-ea-fastdebug]
在java.util.concurrent.FutureTask.get(FutureTask.java:111) [na:1.7.0-ea-fastdebug]
at br.upe.msc.engine.business.EngineService.simulate(EngineService.java:89) [bin/:na]
... 10 common frames omitted
Caused by: com.rapidminer.operator.ports.PortException: Exception at Clustering.example set: No data.
at com.rapidminer.operator.ports.impl.AbstractPort.getData(AbstractPort.java:88) [rapidminer.jar:5.0.000beta]
at com.rapidminer.operator.ports.impl.AbstractPort.getData(AbstractPort.java:76) [rapidminer.jar:5.0.000beta]
at com.rapidminer.operator.clustering.clusterer.AbstractClusterer.doWork(AbstractClusterer.java:92) [rapidminer.jar:5.0.000beta]
at com.rapidminer.operator.Operator.execute(Operator.java:752) [rapidminer.jar:5.0.000beta]
at com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:608) [rapidminer.jar:5.0.000beta]
at com.rapidminer.operator.OperatorChain.doWork(OperatorChain.java:357) [rapidminer.jar:5.0.000beta]
at com.rapidminer.operator.ProcessRootOperator.doWork(ProcessRootOperator.java:345) [rapidminer.jar:5.0.000beta]
at com.rapidminer.operator.Operator.execute(Operator.java:752) [rapidminer.jar:5.0.000beta]
at com.rapidminer.Process.run(Process.java:719) [rapidminer.jar:5.0.000beta]
at com.rapidminer.Process.run(Process.java:660) [rapidminer.jar:5.0.000beta]
at br.upe.msc.engine.entities.engine.rapidminer.RMEngine.executeClusterer(RMEngine.java:85) [bin/:na]
at br.upe.msc.engine.entities.engine.rapidminer.RMEngine.doExecute(RMEngine.java:56) [bin/:na]
at br.upe.msc.engine.entities.engine.rapidminer.RMEngine.execute(RMEngine.java:100) [bin/:na]
at br.upe.msc.engine.business.EngineTask.call(EngineTask.java:57) [bin/:na]
at br.upe.msc.engine.business.EngineTask.call(EngineTask.java:1) [bin/:na]
在java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [na:1.7.0-ea-fastdebug]
在java.util.concurrent.FutureTask.run(FutureTask.java:166) [na:1.7.0-ea-fastdebug]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [na:1.7.0-ea-fastdebug]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [na:1.7.0-ea-fastdebug]
at java.lang.Thread.run(Thread.java:717) [na:1.7.0-ea-fastdebug]
How can I fix this issue?
My code in RM 4.6 looks like this:
ExampleSet result = null;
ExampleSet exampleSet = dataset.getMemoryExampleTable()
.createExampleSet();
IOContainer container = new IOContainer();
container = container.append(exampleSet);
container = this.process.run(container);
result = container.get(ExampleSet.class);
However in RM 5.0, the following exception occurs:
Caused by: java.util.concurrent.ExecutionException: com.rapidminer.operator.ports.PortException: Exception at Clustering.example set: No data.
在java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252) [na:1.7.0-ea-fastdebug]
在java.util.concurrent.FutureTask.get(FutureTask.java:111) [na:1.7.0-ea-fastdebug]
at br.upe.msc.engine.business.EngineService.simulate(EngineService.java:89) [bin/:na]
... 10 common frames omitted
Caused by: com.rapidminer.operator.ports.PortException: Exception at Clustering.example set: No data.
at com.rapidminer.operator.ports.impl.AbstractPort.getData(AbstractPort.java:88) [rapidminer.jar:5.0.000beta]
at com.rapidminer.operator.ports.impl.AbstractPort.getData(AbstractPort.java:76) [rapidminer.jar:5.0.000beta]
at com.rapidminer.operator.clustering.clusterer.AbstractClusterer.doWork(AbstractClusterer.java:92) [rapidminer.jar:5.0.000beta]
at com.rapidminer.operator.Operator.execute(Operator.java:752) [rapidminer.jar:5.0.000beta]
at com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:608) [rapidminer.jar:5.0.000beta]
at com.rapidminer.operator.OperatorChain.doWork(OperatorChain.java:357) [rapidminer.jar:5.0.000beta]
at com.rapidminer.operator.ProcessRootOperator.doWork(ProcessRootOperator.java:345) [rapidminer.jar:5.0.000beta]
at com.rapidminer.operator.Operator.execute(Operator.java:752) [rapidminer.jar:5.0.000beta]
at com.rapidminer.Process.run(Process.java:719) [rapidminer.jar:5.0.000beta]
at com.rapidminer.Process.run(Process.java:660) [rapidminer.jar:5.0.000beta]
at br.upe.msc.engine.entities.engine.rapidminer.RMEngine.executeClusterer(RMEngine.java:85) [bin/:na]
at br.upe.msc.engine.entities.engine.rapidminer.RMEngine.doExecute(RMEngine.java:56) [bin/:na]
at br.upe.msc.engine.entities.engine.rapidminer.RMEngine.execute(RMEngine.java:100) [bin/:na]
at br.upe.msc.engine.business.EngineTask.call(EngineTask.java:57) [bin/:na]
at br.upe.msc.engine.business.EngineTask.call(EngineTask.java:1) [bin/:na]
在java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [na:1.7.0-ea-fastdebug]
在java.util.concurrent.FutureTask.run(FutureTask.java:166) [na:1.7.0-ea-fastdebug]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [na:1.7.0-ea-fastdebug]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [na:1.7.0-ea-fastdebug]
at java.lang.Thread.run(Thread.java:717) [na:1.7.0-ea-fastdebug]
How can I fix this issue?
Tagged:
0
Answers
RapidMiner 5.0 provides many new features and improves the usability drastically. But we had to change the process files as well as the API to accomplish this. So your RapidMiner 4.x code in almost all cases will not run directly on RapidMiner 5.0. We are currently working on a whitepaper how to port your code to the new version. It will be available together with the final release, when the API is finally fixed.
Greetings,
Sebastian
You can help me on this minor code porting on this post?