Welcome to this 'Getting Started' tutorial on how to connect and
submit analytics processes to the RapidMiner Server.
The server allows you process-execution, -queuing and -scheduling, in your secured enterprise environment.
It also includes, besides other features user- and group-access management,
connection setting and other security and integration features such as single-sign-on and LDAP.
Nevertheless, let's start this tutorial in RapidMiner Studio which is your design environment to create, test and
optimize processes before putting them into production on the more powerful and scale-able server platform.
The first order of business is to establish a connection to your server by adding a Server repository.
The starting point for that - as for a usual local repository - is the 'Repository' panel.
So we will click on the 'plus'-sign and select 'New RapidMiner Server Repository'.
In the next step we are asked to provide some general information like a repository name,
the server URL and the credentials.
The alias can be freely chosen to be descriptive for your personal needs.
The URL must be the domain-name of the server or the IP with the port added.
The standard port is '8080'
To ensure that everything is setup correctly we will test the connection.
Once the dialog shows 'Success' we can finalize this initial setup with 'Finish'.
If you look at the 'Repository' panel again, you will see the new repository has been established.
As we expand the repository we can see it is already populated with some folders which exist on the server.
In your server repository you can add and change folders and folder names - given you have the proper
permissions - much like we show in the 'Importing Data'-video, so we will skip this topic here.
We will re-use the process '05 Cross validation' from the 'Validating a model'-video,
but this time we want to run it from the server instead of locally.
When we open and inspect the process we can see that it is retrieving a data file called
'customer data' from our local repository.
Again, this is shown in the 'Data Loading via a Process'-tutorial in case you want
to recreate what we are doing here.
Now if we would run this process ‘as is’ on the server it would fail because the data currently
resides on our local machine and is hence not available on the server.
To solve this problem, we will simply copy the data to the server -
we prepared a data folder under the admin home for this - this will make the data always available to the server.
In a real world scenario this data would of course be retrieved from a database
or a web-service to which the server is connected.
The next step is now to also move the process to the server.
Again we simply copy and paste or, since we already have it open, we will just save it under a server folder
- we will call it '05-cross validation on Server'.
Finally, we have to go into the parameter settings of the 'retrieve' operator
and point it to the 'customer data' which we previously moved to the server.
Make sure to keep the link relative as this will avoid issues in case your home gets moved.
Voila!
We are now done with our deployment.
So now we will test everything is working fine by clicking the 'Run process' button.
The process runs and we are still getting the confusion matrix displayed in our results view.
Everything seems to be fine.
But we really have just tested it locally now.
To run it on the server we will need to go to the drop-down menu next to the ‘run’ button
and select 'Run Process on Server'.
Now to show you the difference we will make the process last a bit longer
so we can monitor the server console and show you what is going on.
So let's go back to the 'design' view and let's have 1000 iterations for the cross-validation.
I am now showing the console next to Studio
As we hit the simple 'Run process'-button in Studio, you see nothing happens on the server.
Now as we select 'Run Process on Server' - we can see the process showing up.
Also you may have realize that the results tab has not been refreshed.
This is because the connection to our RapidMiner Studio results port is of course no longer available
as we have now run the process on the server.
And the server is an engine with no development GUI.
So if you want to check your confusion matrix or other output later,
make sure to add 'store' operators to your process.
Since we have just been talking about working in a shared server environment
and seen the 'process scheduler' - let's briefly touch on that topic as well.
If you want to schedule a process you simply select the option from
the drop-down menu next to the 'Run process' button.
The dialog gives you the option to run your process once.
Maybe you want to have it executed during night time when the system is less busy.
Also you can of course run it via a 'Cron schedule' in case you need it regularly
like every, second, minute, or hour, or once a week, before the weekly business review.
I am setting this up for ‘7am each day’ here as an example and in the main scheduling dialog
you can then see that the expression has been built accordingly.
One more thing to notice is the 'process execution queue' field.
Here you can define to which queue you want to add your process.
This will be discussed again in the more general ‘server introduction’-tutorial but in brief - adding your request
to a certain queue might give it higher or lower priority for execution in case there
is a shortage of computing capacity on your server system.
This concludes the tutorial on connecting to a server and running processes remotely.
Thank you very much for watching!