Problems to work with RM 4.6 legacy code at RM 5

ftgo
ftgo New Altair Community Member
edited November 5 in Community Q&A
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?

Answers

  • land
    land New Altair Community Member
    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,
      Sebastian
  • ftgo
    ftgo New Altair Community Member
    I understand that a major refactoring was made.

    You can help me on this minor code porting on this post?