Feature Request: Packaging a RapidMiner Process in executable form

rfuentealba
rfuentealba New Altair Community Member
edited November 2024 in Community Q&A
Hello, RapidMiner people!

If the RapidMiner Job Agent is able to execute a process, even if it is in a different machine and connected to RapidMiner Server to retrieve the required information, would it be possible to create a "specific kind of Job Agent" to compile a small RapidMiner process and distribute it to be used in different computers with different settings?

It would be nice if it could:
  • Read the .rmp process
  • Identify the plugins required by the process
  • Identify the connections required by the process
  • Pack all of this in a fat jar
  • Make a config file for the secrets
  • Store all of this in a zip file with the process inside.
The expected result would be a directory containing the following structure:
/Titanic Process/bin/process.bat
/Titanic Process/bin/process.sh
/Titanic Process/lib/process.jar
/Titanic Process/etc/config.xml
/Titanic Process/repository/Data.IOObject
That way, the process itself can be executed without the need of a user having RapidMiner Studio/Server, useful for distributing small processes, integrating only the engine with other applications, etc.

What do people say about this? Copying to @sgenzer and @IngoRM

All the best,

Rodrigo.

Best Answers

Answers

  • hughesfleming68
    hughesfleming68 New Altair Community Member
    edited May 2019
    Hi Rodrigo, is this for Linux or Windows or both? On Linux you can ssh remote@machine.com 'java -jar filename.jar'. On Windows you could try PSExec. As long as all your clients can see a shared database on the network, I don't see why this wouldn't be possible. As you said, you can pack everything into a fat jar inside something like IntelliJ. Once you have your fat jar, you could probably use a job sheduler to manage remote execution.

    I would be very interested to have similar functionality so I like this topic. Thanks for bringing it up.


    regards,

    Alex
  • rfuentealba
    rfuentealba New Altair Community Member
    Hello @hughesfleming68,

    The idea behind this feature request is to be able to execute a single RapidMiner process in computers that don't have RapidMiner installed and where remote execution isn't a good idea. The idea of having something that doesn't depend on RM Studio or Server and that can help us distribute certain processes for users that don't have access or experience. It can make RapidMiner more ubiquitous.

    It's more like having a RMRE (RapidMiner Runtime Execution) that works on the holy trinity (Windows, Mac, Linux) without giving the user the possibility of modifying the process (that would be bad), but flexible enough to let them configure usernames, passwords, etc.

    All the best,

    Rodrigo.
  • MartinLiebig
    MartinLiebig
    Altair Employee
    Answer ✓
    you can use the RTS and ship it to integrate via webservices into anything. The new python lib allows you to effectivly call these processes from jupyter. How much does this cover your needs?

    Best,
    Martin
  • rfuentealba
    rfuentealba New Altair Community Member
    Hi @mschmitz,

    Interesting, will try. Will let you know.

    All the best,

    Rodrigo.
  • MartinLiebig
    MartinLiebig
    Altair Employee
    Answer ✓
    have a look at https://github.com/rapidminer/python-rapidminer-beta#scoring . That's what you can use.

    Best,
    Martin


  • rfuentealba
    rfuentealba New Altair Community Member
    Yesss... This is exactly what I need. Didn't know about it!
  • MartinLiebig
    MartinLiebig
    Altair Employee
    well, it's currently in BETA :) will be officially released soon.
  • rfuentealba
    rfuentealba New Altair Community Member
    Let's try it then. Will let you know.
  • SGolbert
    SGolbert New Altair Community Member
    Hi Rodrigo,


    if I understood correctly that is exactly what the scoring agent does! The only problem is that it has been designed for a specific use case (high number of calls with very low latency) and it has a price tag that goes along with that use case . . .

    I would welcome a cheaper/free version for the use cases that Rodrigo mentions.

    Kind regards,
    Sebastian

  • MartinLiebig
    MartinLiebig
    Altair Employee

    please always have a chat with our sales teams if those concerns arise. Usually one can find solutions.

    Best,
    Martin