Problems to work with RM 4.6 legacy code at RM 5
ftgo
New Altair Community Member
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.
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252) [na:1.7.0-ea-fastdebug]
at 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]
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [na:1.7.0-ea-fastdebug]
at 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.
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252) [na:1.7.0-ea-fastdebug]
at 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]
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [na:1.7.0-ea-fastdebug]
at 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?
0
Answers
-
Hi,
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,
Sebastian0 -
I understand that a major refactoring was made.
You can help me on this minor code porting on this post?0