Problem, regarding filepath, when reading a file that is stored on the RM Server.
Christos_Karapapas
New Altair Community Member
I have a RM Server running on a VM (Ubuntu) on top of my Win10 machine.
I have a process to read a .csv file and write its contents on a MySQL database on a MySQL Server which also runs on the same VM.
The problem is that the read file operator does not seem to be able to find the file.
Scenario1.
When I try as location-name in the read csv operator `../data/myFile.csv`
And run the process on Server I am getting `Failed to execute initialization process: Error executing process /apps/myApp/process/task_read_csv_to_db: The file 'java.io.FileNotFoundException: /root/../data/myFile.csv (No such file or directory)' does not exist.`
Scenario2.
When I try as location-name in the read csv operator `/apps/myApp/data/myFile.csv`
And run the process on Server I am getting `Failed to execute initialization process: Error executing process /apps/myApp/process/task_read_csv_to_db: The file 'java.io.FileNotFoundException: /apps/myApp/data/myFile.csv (No such file or directory)' does not exist.`
What is the right filepath that I should give to the Read CSV operator?
I have a process to read a .csv file and write its contents on a MySQL database on a MySQL Server which also runs on the same VM.
The problem is that the read file operator does not seem to be able to find the file.
Scenario1.
When I try as location-name in the read csv operator `../data/myFile.csv`
And run the process on Server I am getting `Failed to execute initialization process: Error executing process /apps/myApp/process/task_read_csv_to_db: The file 'java.io.FileNotFoundException: /root/../data/myFile.csv (No such file or directory)' does not exist.`
Scenario2.
When I try as location-name in the read csv operator `/apps/myApp/data/myFile.csv`
And run the process on Server I am getting `Failed to execute initialization process: Error executing process /apps/myApp/process/task_read_csv_to_db: The file 'java.io.FileNotFoundException: /apps/myApp/data/myFile.csv (No such file or directory)' does not exist.`
What is the right filepath that I should give to the Read CSV operator?
0
Best Answer
-
Hi,the repository is stored in /rapidminer-server-home/data/repositoryBut you can't access the files stored there directly. As a layer of security the file names and locations are scrambled and encrypted (otherwise for example the user access rights would be pointless).I would recommend to store the *.csv file in a more generic folder, for example /tmp/ or another folder where each related user has access rights.I hope this helps you.Best,
David1
Answers
-
Hi @chris_skg ,I would say, the issue is that depending on the location of the JobAgent that is executing your process, the relative path might be varying.Is `/apps/myApp/data/myFile.csv` the correct path to the file? If not, I would suggest to use the absolute path to the file. Hope this helps.Best,David1
-
I was trying to find the absolute path to the file but with no luck.
I guess that it has to be somewhere in the /root/rapidminer-server/rapidminer-server-9.5.0/ or the /root/rapidminer-server/rapidminer-server-home/ but I wasn't able to find it.
Could you or someone else please, tell me where exactly a new remote repository is created on a linux system?0 -
Hi,the repository is stored in /rapidminer-server-home/data/repositoryBut you can't access the files stored there directly. As a layer of security the file names and locations are scrambled and encrypted (otherwise for example the user access rights would be pointless).I would recommend to store the *.csv file in a more generic folder, for example /tmp/ or another folder where each related user has access rights.I hope this helps you.Best,
David1 -
Thank you my friend that certainly helped! Although I wish I there was a way to have everything in one place.0
-
It depends on the file sizes but one other solution might also be to use web-services for it. You could POST your csv file to a RapidMiner web-service which is then writing the parsed content to the MySQL DB - then you don't need to mess around with file paths.
Cheers,
Marcel0