"setting macros from command line"

at4sno
at4sno New Altair Community Member
edited November 5 in Community Q&A
Is it possible to set macros when starting RapidMiner using the command-line script?

I would like to create a script that starts RapidMiner and runs a process, but with different macro values for the parameters that define the time interval over which I want RapidMiner to operate.

Answers

  • land
    land New Altair Community Member
    Hi,
    as far as I know not. Executing RapidMiner from command line isn't the desired way to integrate it at all. RapidAnalytics offers much better ways integrating RapidMiner processes in a workflow.

    But of course you could write the parameter settings into a file, importing it as a csv file and reading the values from the exampleset into macros.

    Greetings,
      Sebastian
  • at4sno
    at4sno New Altair Community Member
    Thanks for the reply. I wrote the parameters to CSV, then wrapped "Read CSV" --> "Loop Examples" work flow around my real work flow, and it works pretty well.

    A problem is that there are thousands of connections to SQL Server in my "real work flow" for each instance of the settings in the CSV. And in spite of logverbosity="off" and "logfile=...\theLog.log", there are thousands of messages like "Sep 9, 2010 10:58:34 AM CONFIG: Connecting to the jdbc:sqlserver://theServer:1433...". At first these come out dozens per second, but as the job runs, it slows down. clicking the clear/erase icon on the logging tab restores the early speedy processing

    So I've found 2 problems:
    1. in spite of "logverbosity=off", the logging continues to the logging tab.
    2. as log entries accumulate, my job slows down

    I thought starting RapidMiner over would ameliorate #2 above - it gets rather boring to hover over the window and click the eraser icon...

    PS: it sure would be nice to have an "Extract Macros" workflow step, that would work like a combination of "Extract Macro" and "Set Macros".

    PPS: closing the logging tab reduces the processor utilization, so running without the real-time view may keep the processing rate up. Hard to tell, since I can't see the rate of opening SQL Server connections  :)
  • land
    land New Altair Community Member
    Hi,
    did you set the log verbosity of the process to off? It works for me.

    You could use the log operators for getting insight without logging to console.


    Greetings,
      Sebastian
  • land
    land New Altair Community Member
    PS:
    Yes, such an operator might be useful. Please add it to the feature request list, if not already on it.

    Greetings,
      Sebastian
  • at4sno
    at4sno New Altair Community Member
    I did try logverbosity=off, and the logging continued. (!!)

    You wrote that logverbosity=off worked for you - was that with SQL Server? If so, perhaps we are using different jdbc drivers. I'm using the Microsoft JDBC driver. Here's the relevant line from my jdbc_properties.xml file:
    <driver dbnameseparator=";databaseName=" defaultport="1433" driver_jar="C:\Program Files\Rapid-I\RapidMiner5\lib\jdbc\sqljdbc4.jar" drivers="com.microsoft.sqlserver.jdbc.SQLServerDriver" name="Microsoft SQL Server (MS)" urlprefix="jdbc:sqlserver://"/>
    I don't see any obvious version information for this jar file, but the MANIFEST.MF file has a date/time stamp of 2009-01-08 15:45.

    I'll add the "extract macro*s*" suggestion.

    --Howard
  • land
    land New Altair Community Member
    Hi Howard,
    which logging do you refer to? The logging of RapidMiner should not be connected to any database special issues. Please send me a copy of your log, it might give hints which part of program does not obey the logging switch.

    Greetings,
      Sebastian