Problem with the object store

svozilsvozil Member Posts: 2 Contributor I
edited November 2018 in Help
Hi,

I have a problem with saving (using Remember operator) and retrieving (using Recall operator) data set into the object store. Here is the XML:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="5.0">
 <context>
   <input>
     <location/>
   </input>
   <output>
     <location/>
     <location/>
   </output>
   <macros/>
 </context>
 <operator activated="true" class="process" expanded="true" name="Process">
   <process expanded="true" height="521" width="643">
     <operator activated="true" class="recall" expanded="true" height="60" name="Recall" width="90" x="500" y="30">
       <parameter key="name" value="data_name"/>
       <parameter key="io_object" value="ExampleSet"/>
     </operator>
     <operator activated="true" class="generate_data" expanded="true" height="60" name="Generate Data" width="90" x="112" y="30"/>
     <operator activated="true" class="remember" expanded="true" height="60" name="Remember" width="90" x="246" y="30">
       <parameter key="name" value="data_name"/>
       <parameter key="io_object" value="ExampleSet"/>
     </operator>
     <connect from_op="Recall" from_port="result" to_port="result 1"/>
     <connect from_op="Generate Data" from_port="output" to_op="Remember" to_port="store"/>
     <portSpacing port="source_input 1" spacing="0"/>
     <portSpacing port="sink_result 1" spacing="0"/>
     <portSpacing port="sink_result 2" spacing="0"/>
   </process>
 </operator>
</process>
When running this simple code, I always get com.rapidminer.operator.UserError exception, process fails with the reason "No object with data_name was found during retrieval from the object store", where the offending is the Recall operator. Is this a bug or am I doing something wrong? Do I have to configure object store somehow? I am using RM 5.0.3 on WinXP.

Thanks
 Dan

Answers

  • landland RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 2,531 Unicorn
    Hi Dan,
    this is simply a question of execution order. Since there's no continouus data flow in your example, it's not clear, which order must be chosen. RapidMiner will execute Recall before Remembering the data.
    Please press the up-down Button with the Questionmark in the icon panel of the Process view to see and edit the execution order.

    Greetings,
      Sebastian
  • svozilsvozil Member Posts: 2 Contributor I
    Hi Sebastian,

    thanks a lot for the answer, it works now. I could have guessed the problem by myself being not stupid :-).

    Dan
    Sebastian Land wrote:

    Hi Dan,
    this is simply a question of execution order. Since there's no continouus data flow in your example, it's not clear, which order must be chosen. RapidMiner will execute Recall before Remembering the data.
    Please press the up-down Button with the Questionmark in the icon panel of the Process view to see and edit the execution order.

    Greetings,
     Sebastian
  • mushi_pcrmushi_pcr Member Posts: 11 Contributor II
    I have the same problem but it do not know where we can do this process "Questionmark in the icon panel of the Process view to see" please can you share the picture of rapidminor where we can see this option 
  • Telcontar120Telcontar120 Moderator, RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 1,635 Unicorn
    This icon has changed since the earlier answer was written.  Here it is in the current view in the upper right of the process view next to the other process icons:
    You can then toggle on/off the ability to change the operation order by dragging the numbers on the operators.

    Brian T.
    Lindon Ventures 
    Data Science Consulting from Certified RapidMiner Experts
  • mushi_pcrmushi_pcr Member Posts: 11 Contributor II
    thanks Telcontar120
  • mushi_pcrmushi_pcr Member Posts: 11 Contributor II

  • mushi_pcrmushi_pcr Member Posts: 11 Contributor II
    Dear team I have still problem to run this program and I need help
  • lionelderkrikorlionelderkrikor Moderator, RapidMiner Certified Analyst, Member Posts: 1,195 Unicorn
    Hi @mushi_pcr,

    Can you share your process and your data (or a sample of your data) ?

    Regards,

    Lionel
  • mushi_pcrmushi_pcr Member Posts: 11 Contributor II
    edited February 2019
    First of all thanks lionelderkrikor , I simple used Rapdinor studio free 9.2.0 training resources process and just include Deep learning classifier and used the customer dataset. Further I do not know how to share data with you

  • lionelderkrikorlionelderkrikor Moderator, RapidMiner Certified Analyst, Member Posts: 1,195 Unicorn
    HI @mushi_pcr,

    To share your process follow the following steps : 

    Note: This solution requires the "XML" panel which can be opened in the "View" menu and then "Show Panel".  Activate the XML panel if you did not do this before.

    Open your process in RapidMiner and open the XML panel. If you can't find it, make sure to follow the note above.

    Copy the XML code from there and paste it somewhere else, for example into a forum post here on the community portal.  By the way, if you post your XML here, please use the code environment which you get by clicking on the </> icon in the toolbar of the post.

    In order to import such an XML description of your process, e.g. to use a process someone else has posted here in the forum, please follow the following steps:

    1. Create a new process and go the the XML panel (see above).
    2. Clear the view and copy the XML code you got into that panel.
    3. Then press the green checkmark icon on top of the panel.
    4. Switch back to the Process panel.
    Regards,

    Lionel
  • Marco_BoeckMarco_Boeck Administrator, Moderator, Employee, Member, University Professor Posts: 1,993 RM Engineering
    edited February 2019
    Hi,

    I suggest to not use Remember and Recall for your everyday tasks.
    Remember and Recall are highly advanced operators, which were added back in the day solely for RM Server web apps: To store and later retrieve data sets to display in the reporting boxes. They put data into a process-specific memory object storage / in a web app specific memory object storage. You can use them if you know what you're doing inside Loops etc. to get small-ish data more quickly than reading from the file system, but this is for very advanced users only.

    For beginners they are actually dangerous, as one might think they stored a result somewhere, and one can expect the data to be there next time one starts a new process, which it won't be however.
    Thus you should always use Retrieve and Store so that your data is actually persisted in your repository.


    Regards,
    Marco
Sign In or Register to comment.