"Solved - Adding database connection to Rapid Analytics"

spoorti
spoorti New Altair Community Member
edited November 5 in Community Q&A
There are pre-defined drivers in RapidAnalytics like MySql and some more.

I am trying to connect to Vertica database.
I copied the jdbc driver to ../server/default/lib
Created "vertica-ds.xml" in ../server/default/deploy/ with changes for vertica

How do I use this connection into 'Read Database' Operator.
Works just fine with RapidMiner with 'Manage Database connections' and 'Manage Database drivers'

http://rapid-i.com/rapidforum/index.php?topic=4437.0
This post suggested the above. But how do I use the JNDI name in 'Read Database' operatot ?

UPDATE

I chose 'jndi' as 'define connection'
'jndi name' = VerticaDS
I
started the rapidMiner as
java -Xmx2000m  -Djava.naming.factory.initial=VerticaDS -jar rapidminer.jar &

I get an error like this
"Cannot create example set meta data: Failed to lookup 'VerticaDS': javax.naming.NoInitialContextException: Cannot instantiate class: VerticaDS [Root exception is java.lang.ClassNotFoundException: VerticaDS]."

I do see  the following line in boot.log at the startup of RA server
INFO  [WrapperDataSourceService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=VerticaDS' to JNDI name 'VerticaDS'


Answers

  • spoorti
    spoorti New Altair Community Member
    Any help is really appreciated. I am not able to go any further without this. Thanks
  • fischer
    fischer New Altair Community Member
    Hi,

    maybe jdbc/VerticaDS is the correct JNDI name?

    Best,
    Simon
  • spoorti
    spoorti New Altair Community Member
    Here is the transript from boot.log
    16:22:28,617 INFO  [WrapperDataSourceService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=VerticaDS' to JNDI name 'VerticaDS'

    This is the error when I use it in 'Read Database' this
    Cannot create example set meta data: Failed to lookup 'jdbc/VerticaDS': javax.naming.NoInitialContextException: Cannot instantiate class: jdbc/VerticaDS [Root exception is java.lang.ClassNotFoundException: jdbc/VerticaDS].
  • fischer
    fischer New Altair Community Member
    Hi,

    ok, this is the somewhat uncomfortable answer: After you added your database driver in RM, go to your .RapidMiner5 folder and look for a file called "jdbc_properties.xml". Copy the fragement that was added for your database.

    Locate the RapidMiner-X.ear in your RapidAnalytics installation under server/default/deploy. It is a regular ZIP archive. If you have a tool that lets you edit files in zips in zips (such as the midnight commander :-)), open it and go to lib/RapidMiner.jar. This is a ZIP file again. Therein, go to com/rapidminer/resources and edit the jdbc_properties.xml file you find there. Paste the XML fragment you copied.

    Now, when you restart RA, you will be able to add database connections of the new type through the Web interface.

    Yes, I know you want to be able to edit that on the Web interface :-)

    Best,
    Simon
  • spoorti
    spoorti New Altair Community Member
    Thanks Simon for the specifics. I was able to add the database connection to Vertica via web interface.