How to run execute remote calls or a remote script from the server

All,

To start, I’m fairly new to Clover. My goal is to remotely execute a sql client from the clover server. For now, I’m trying something simple, ssh’ing to the remote server and execute a md5sum command (from the examples). I tried using the SystemExecute component with the script code embedded in the component. When I run the jobflow, I encounter permission problems.

The errors generated from SystemExecute are:
“Permission denied, please try again. Permission denied, please try again. Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).”

Any suggestion would be appreciated.

Hi,

From the information you provided, I would recommend two better approaches then using a SystemExecute component to accomplish your use case.

  • DBInputTable component which uses the JDBC to connect to the database. In this case you would need to create a new JDBC connection in the Connections section of CloverETL Designer, you can read more about this here.

  • Bulk loader components (e.g. PostgreSQLDataWriter, MySQLDataWriter, etc.) which will use the native client to connect to the database.

Thanks for the suggestions!

First, we are using vertica. I dont believe there is a data writer.

Some additional information, I’m trying to execute a bulk load with a compressed file which is not on the clover server. The remote server which has the compressed file, has the vertica client installed. We dont want to copy the file locally and the client is not installed on the clover server. Is there a component or combination of components which would facilitate the execution of the client remotely?

Hi,

I would recommend that you use a combination of the UniversalDataReader and the DBOutputTable components. The following is the steps to accomplish this:

  • In the UniversalDataReader under File URL you will click on the Remote Files – Create/Edit URL, a window should pop up where you will enter the credentials for your remote server
  • After validating that the connection works you will be able to see all the files in the server and select the zip file (File URL should look something like zip:(sftp://someserver)#somefile.txt)
  • You should use DBOutputTable component which uses the JDBC to connect to the database. You will need to create a new JDBC connection in the Connections section of CloverETL Designer, you can read more about this here
  • Depending on the version of CloverETL you are running, the Vertica JDBC driver should be already included in the Database Connections section, in the case it’s not you can load the driver by clicking on the plus sign